L'instruction
UTILISER ... DANS permet d'effectuer automatiquement les opérations d'initialisation et de terminaison sur les sections critiques.
Cette instruction permet principalement "d'oublier ces opérations" (notamment les opérations de terminaison) et de rendre le code plus lisible par la mise en évidence du bloc sur lequel porte la fonctionnalité.
// Utilisation d'une variable de type Section Critique
S est une SectionCritique
// Utilisation pour un bloc de code
//---------------------------
UTILISER S DANS
// code protégé par la section critique
// un seul thread pourra exécuter ce code à un moment donné
FIN
// Utilisation d'une section critique nommée
UTILISER SectionCritique("MaSection") DANS
// Deux threads ne pourront pas exécuter ce code en même temps
...
FIN
// Section critique sur une variable
t est un tableau <section critique> d'entiers
UTILISER SectionCritique(t) DANS
// Manipulations sur le tableau par un seul thread en même temps
...
FIN
Syntaxe
Définir une section critique à l'aide d'une variable SectionCritique Masquer les détails
UTILISER <Section Critique> DANS
...
FIN
<UTILISER DANS> :
Signale le début du bloc d'instructions.
<Section Critique> : Variable de type SectionCritique
Nom de la variable de type SectionCritique permettant d'identifier la section critique.
<UTILISER DANS> :
Signale le début du bloc d'instructions.
<SectionCritique> :
Active la section critique. Pour plus de détails, consultez SectionCritique.
Définir une section critique nommée Masquer les détails
UTILISER SectionCritique(<Nom de la section>) DANS
...
FIN
<UTILISER DANS> :
Signale le début du bloc d'instructions.
<SectionCritique> :
Active la section critique. Pour plus de détails, consultez SectionCritique.
<Nom de la section> : Chaîne de caractères
Identifie la section critique. Ce paramètre permet de distinguer les sections de codes protégées.
Définir une section critique sur une variable avec l'attribut d'extension "Section critique" Masquer les détails
UTILISER SectionCritique(<Variable>) DANS
...
FIN
<UTILISER DANS> :
Signale le début du bloc d'instructions.
<SectionCritique> :
Active la section critique. Pour plus de détails, consultez SectionCritique.
<Variable> : Tout type
Nom de la variable WLangage à protéger dans une section critique. Cette variable doit être définie avec l'attribut d'extension <section critique>.