Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Multithreading question

Author: Robert Hyatt

Date: 08:11:17 09/09/03

Go up one level in this thread


On September 09, 2003 at 02:14:08, Tony Werten wrote:

>Hi,
>
>maybe a silly question, but one get quite desperate during debugging. Suppose I
>have the followin code:
>
>procedure whatever(param:integer)
>begin
>   do_something_heavy_with_param;
>end;
>
>Say, the heavy stuff takes about 10 seconds.
>
>If during these secs another thread is calling this function, what happens ?

It gets executed.  :)

>
>Does every thread gets a "local copy" of the function ?

A local copy of "the local data".  They share instructions and global
data.


>
>On a single processor, there is a context switch, stuff is pushed on a stack,
>and everything is safe.
>
>What about a dual ? I get the feeling that param is actually changed by the
>second call.

Param is _local_.  However, if the function uses global data, that has to
be properly managed with a MUTEX-type lock.



>
>Tony



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.