[fpc-pascal] Thread IDs

Vincent Snijders vsnijders at vodafonevast.nl
Thu Feb 18 22:04:50 CET 2010


Wimpie Nortje schreef:
> 
> 
> Jonas Maebe wrote:
>>
>> On 18 Feb 2010, at 16:35, Wimpie Nortje wrote:
>>
>>> What is the difference between GetThreadID() and GetCurrentThreadID()?
>>
>> There is a threadvar called "threadid" in the system unit. When a new 
>> thread is started, GetCurrentThreadID is called to obtain the thread 
>> id of the new thread (via the thread manager) and the result is stored 
>> in the threadid threadvar. GetThreadID simply returns the value of 
>> this threadvar.
>>
>> So in summary: there is no semantic difference.
>>
> They return different values. I think GetCurrentThreadID is the more 
> trustworthy one. When control returns to my main thread then 
> GetCurrentThreadID = MainThreadID and GetThreadID <>MainThreadID

I found some inconsistencies a couple of months ago, but never got to 
creating a bug report:
http://www.mail-archive.com/fpc-pascal@lists.freepascal.org/msg17337.html

lists.freepascal.org seems down, so I found this link.

VIncent



More information about the fpc-pascal mailing list