pictogram Auteur: Patrick Biker
Date: 18 mars 2006
Maj : 21 Mars 2015

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.

Revenir à la page des exemples évolués


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