Exemples évolués
Chaque exemple montre une utilisation pratique de la fonction du WLangage.
Quand plusieurs syntaxes sont possibles, chacune est illustrée indépendamment.
|
L'exemple suivant permet de communiquer entre deux threads grâce aux fonctions ThreadAttendSignal et ThreadEnvoieSignal.
|
||
|
-- Code d'initialisation du projet
GLOBAL gnAction est un entier // Lance le thread1 ThreadExécute("Thread1", threadNormal ,ProcThread1) // Lance le thread2 ThreadExécute("Thread2", threadNormal ,ProcThread2) // Attend la fin du Thread1 avant de continuer l'exécution du programme ThreadAttend("Thread1") Procédure ProcThread1()
bContinue est un booléen = Vrai TANTQUE bContinue ThreadAttendSignal () SELON gnAction CAS 1 : <Traitement action 1> CAS 2 : <Traitement Action 2> AUTRE CAS : bContinue = Faux FIN ThreadEnvoieSignal("Thread2") FIN // Fin du Thread2 ThreadArrête("Thread2") Procédure ProcThread2()
... <Code> ... gnAction = 1 ThreadEnvoieSignal ("Thread1") ThreadAttendSignal() ... <Code> ... gnAction = 2 ThreadEnvoieSignal ("Thread1") ThreadAttendSignal() ... <Code> ... gnAction = 3 ThreadEnvoieSignal ("Thread1") ThreadAttendSignal()
|
Auteur: Patrick Biker