[fpc-devel] ref count types / threadsave question
    Jonas Maebe 
    jonas at freepascal.org
       
    Sun Jan  6 15:00:44 CET 2019
    
    
  
On 06/01/19 14:42, Martin Frb wrote:
> Btw about threads seeing different cached versions of data.
> What happens in case of synchronize?
Synchronize uses an RtlEvent. That one uses OS primitives that include 
memory barriers, so the data will be properly synchronised across cores.
> If so then how to I ever get a managed variable safely into a thread? 
> (Once the thread was started).
It behaves the same as any other data.
In general: always use an RTLEvent, mutex, critical section or similar 
to access shared data. Those will ensure that the necessary memory 
barriers get inserted.
Jonas
    
    
More information about the fpc-devel
mailing list