|
|
|
|
|
- Tableau récapitulatif du fonctionnement des signaux
SignalModifie (Fonction) En anglais : EventChange Modifie l'état d'un signal.
SignalCrée("Allez-y", signalManuel, signalFermé)
ThreadExécute("Thread1", threadNormal, "Thread_Premier")
ThreadAttendSignal()
ThreadExécute("Thread2", threadNormal, "Thread_Second")
ThreadAttendSignal()
SignalModifie("Allez-y", signalOuvert)
PROCÉDURE Thread_Premier()
Trace(dbgInfo(dbgTraitement) + " - ThreadEnvoieSignal(threadPrincipal)")
ThreadEnvoieSignal(threadPrincipal)
SignalAttend("Allez-y")
Trace(dbgInfo(dbgTraitement) + " - Signal reçu")
PROCÉDURE Thread_Second()
Trace(dbgInfo(dbgTraitement) + " - ThreadEnvoieSignal(threadPrincipal)")
ThreadEnvoieSignal(threadPrincipal)
SignalAttend("Allez-y")
Trace(dbgInfo(dbgTraitement) + " - Signal reçu")
Syntaxe
SignalModifie(<Signal> [, <Nouvel état>])
<Signal> : Chaîne de caractères Nom du signal à modifier. Si ce signal n'existe pas, le signal est automatiquement créé avec les options par défaut (mode automatique), et dans l'état spécifié. <Nouvel état> : Constante optionnelle Etat du signal : | | signalFermé | Ferme le signal. Cette constante est équivalente à la fonction SignalFerme. | signalOuvert (Valeur par défaut) | Ouvre le signal. Si des threads sont en attente du signal, ils sont automatiquement débloqués. Cette constante est équivalente à la fonction SignalOuvre. | signalOuvertEtFermé | Ouvre le signal, débloque tous les threads en attente et referme le signal.
Cette constante n'est pas conseillée. Elle est conservée par compatibilité. |
Remarques Tableau récapitulatif du fonctionnement des signaux | | | Valeur de SignalModifie | Signal automatique (par défaut) | Signal manuel |
---|
signalOuvert | Le signal laisse passer un seul thread. Le signal se referme automatiquement après le passage du thread. Threads en attente : Si aucun thread n'était en attente, le signal reste ouvert jusqu'au prochain thread qui passe, puis se referme. Nouveaux threads : Si d'autres threads arrivent, ils sont mis en attente. | Le signal passe à l'état ouvert. Threads en attente : Tous les threads en attente passent. Nouveaux threads : Si d'autres threads arrivent alors que le signal est encore ouvert, ils passent. | signalOuvertEtFermé
Cette constante n'est pas conseillée. Elle est conservée par compatibilité. | Le signal laisse passer un seul thread. Le signal se referme automatiquement après le passage du thread. Threads en attente : Si aucun thread n'est en attente, le signal reste fermé. Nouveaux threads : Si d'autres threads arrivent, ils sont mis en attente. | Le signal laisse passer tous les threads. Le signal se referme automatiquement après le passage de tous les threads. Nouveaux threads : Si d'autres threads arrivent, ils sont mis en attente. | signalFermé | Le signal reste fermé. Nouveaux threads : Si d'autres threads arrivent, ils sont mis en attente. | Le signal se ferme. Nouveaux threads : Si d'autres threads arrivent, ils sont mis en attente. |
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|