PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Déclaration
  • Utilisation des variables de type SignalManuel
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Le type SignalManuel permet de gérer un signal manuel. Un signal manuel permet de faciliter la synchronisation entre plusieurs threads.
Un signal manuel est modifié uniquement par la fonction SignalModifie.
Remarque : Il est préférable d'utiliser une variable de type SignalAutomatique ou SignalManuel pour créer un signal plutôt que le nommer en utilisant une chaîne de caractères. En effet, dans le cas de l'utilisation d'une variable, il est possible de :
  • gérer la portée de la variable,
  • éviter que 2 signaux aient le même nom dans 2 threads différents.
Versions 21 et supérieures
Apple Watch Ce type de variable est désormais disponible en mode Apple Watch.
Nouveauté 21
Apple Watch Ce type de variable est désormais disponible en mode Apple Watch.
Apple Watch Ce type de variable est désormais disponible en mode Apple Watch.
Exemple
// THREAD PRINCIPAL
//------------------
// Définition du signal
s est un SignalManuel
// Lancement du thread
ThreadExécute("Thread", threadNormal, ProcThread, s)
// Code en parallèle du thread
...
// On attend le signal déclenché par le thread
SignalAttend(s)
// THREAD SECONDAIRE
// ----------------------
PROCEDURE ProcThread(s)

// Code dans le thread
...
// Débloque le thread principal
SignalOuvre(s)
Déclaration

Déclarer un signal manuel (syntaxe simple) Masquer les détails

MaVariable est un SignalManuel
Dans ce cas, le signal manuel créé est dans l'état fermé.

Déclarer un signal manuel (syntaxe avancée) Masquer les détails

MaVariable est un SignalManuel(<Etat initial>)
<Etat initial> : Constante de type Entier
Etat du signal à sa création :
signalOuvertLe signal est ouvert lors de sa création.
signalFerméLe signal est fermé lors de sa création.
Remarques

Utilisation des variables de type SignalManuel

Les variables de type SignalManuel peuvent être utilisées pour synchroniser des threads entre eux dans les fonctions :
Lors d'un appel à la fonction SignalOuvre (ou <Variable SignalManuel>.Ouvre), le signal reste ouvert :
  • tous les threads en attente sont libérés,
  • tous les threads qui atteindront le signal plus tard passeront sans attente.
Lors d'un appel à la fonction SignalFerme (ou <Variable SignalManuel>.Ferme), le signal est fermé : tous les threads qui atteindront le signal resteront bloqués.
Version minimum requise
  • Version 20
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire