Thread Variables Initial Values

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Thread Variables Initial Values

African Wild Dog
Hello,

The documentation is not clear about the initial values of thread variables:

"If threads are used then a copy is made for each thread (including the main thread). Note that the copy is made with the original value of the variable, not with the value of the variable at the time the thread is started."


So, if i declare a threadvar:

threadvar
  MyObject: TObject;


What will be the initial value of the variable when each thread uses its copy for the first time?


 
Regards

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Thread Variables Initial Values

Michael Van Canneyt


On Fri, 17 Mar 2017, African Wild Dog wrote:

> Hello,
>
> The documentation is not clear about the initial values of thread variables:
>
>
>
>
> *"If threads are used then a copy is made for each thread (including the
> main thread). Note that the copy is made with the original value of the
> variable, not with the value of the variable at the time the thread is
> started."*
> So, if i declare a threadvar:
>
> threadvar
>  MyObject: TObject;
>
>
> What will be the initial value of the variable when each thread uses its
> copy for the first time?

Nil.

What exactly is not clear about the documentation ?

Michael.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Thread Variables Initial Values

African Wild Dog

2017-03-17 13:09 GMT-03:00 Michael Van Canneyt <[hidden email]>:

Nil.

What exactly is not clear about the documentation ?

The documentation says ".. Note that the copy is made with the original value of the variable ..". But, whats is the original value?
I think the documentation should be clearer about the initial values of thread variables. From what i I understand, the value is default(T) for all threads. So, the documentation should mention that.

Regards

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal