[fpc-pascal] Thread IDs

Wimpie Nortje wimpienortje at gmail.com
Thu Feb 18 21:51:29 CET 2010

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

More information about the fpc-pascal mailing list