TThread
Titre
Code du Thread
- code du Thread
{ TMyThread } procedure TMyThread.Execute; begin {... fait quelque chose dans un thread ...} Synchronize(@SynchroEnum); // Appel une procedure synchronisée avec le thread principal end; procedure TMyThread.SynchroEnum; begin {... Fait quelque chose synchronisé avec le thread principal ...} end; constructor TMyThread.Create(CreateSuspended: boolean); begin FreeOnTerminate := True; inherited Create(CreateSuspended); end;
Appel depuis l'application
FThread := TMyThread.Create(True); // Create Suspended FThread.OnTerminate:=@ReceptThreadTerminate; FThread.Start; // et non pas Execute !
A Savoir...
On appel pas directement Execute
mais on démarre le Thread avec Start
.
On appel les méthodes “synchronisée” avec Synchronize(@MaProcedure)
. Donc il ne peut pas y avoir de paramètres a ces procédures…
TThreadList : Partage de TList entre Threads
Avec TThreadList → https://www.freepascal.org/docs-html/rtl/classes/tthreadlist.html
Sources & Ressources
Vous pourriez laisser un commentaire si vous étiez connecté.