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()
|