Via Lattanzio,23 Milano
+39 02 00704272
info@synaptica.info

Delphi TThread Synchronization

Delphi TThread Synchronization

Come eseguire un metodo all’interno di un TThread in modo sincrono con il Thread principale dell’applicazione è abbastanza semplice.

Supponiamo di voler syncronizzare l’accesso ad una variabile di conteggio, possiamo usare i metodi TThread.Synchronize e TThread.Queue.

Il metodo TThread.Syncronize esegue immediatamente il metodo interrompendo immediatamente l’esecuzione del Thread principale mente il metodo TThread.Queue dovrebbe fare una cosa più soft gestendo una coda di metodi in esecuzione.

Bisogna però prestare attenzione se si utilizzano TThread.Syncronize e TThread.Queue all’interno di una applicazione di tipo console “” e introdurre un loop con la chiamata al metodo CheckSynchronize(100) per dire al Thread principale di eseguire i metodi in coda.

Il metodo CheckSynchronize(100)  è presente nella unit System.Classes che deve essere inclusa nel progetto.