PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Utilisation des sections critiques
  • Divers
  • Equivalence
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Signale le début d'une section critique : aucun autre thread ne pourra exécuter le code tant que le thread courant ne sera pas sorti de la section critique.
Pour sortir de la section critique, utilisez la fonction SectionCritiqueFin.
Versions 24 et supérieures
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App Lorsque les appels aux fonctions SectionCritiqueDébut et SectionCritiqueFin sont situés dans le même bloc de code, il est conseillé d'utiliser le type SectionCritique et la syntaxe UTILISER ... DANS.
Exemple :
// 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
Nouveauté 24
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App Lorsque les appels aux fonctions SectionCritiqueDébut et SectionCritiqueFin sont situés dans le même bloc de code, il est conseillé d'utiliser le type SectionCritique et la syntaxe UTILISER ... DANS.
Exemple :
// 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
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App Lorsque les appels aux fonctions SectionCritiqueDébut et SectionCritiqueFin sont situés dans le même bloc de code, il est conseillé d'utiliser le type SectionCritique et la syntaxe UTILISER ... DANS.
Exemple :
// 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
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 18 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Nouveauté 18
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Versions 19 et supérieures
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 19
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 21 et supérieures
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Exemple
Versions 21 et supérieures
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App
// Section critique sur une variable
t est un tableau <section critique> d'entiers
SectionCritiqueDébut(t)
// Manipulations sur le tableau par un seul thread en même temps
SectionCritiqueFin(t)
Nouveauté 21
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App
// Section critique sur une variable
t est un tableau <section critique> d'entiers
SectionCritiqueDébut(t)
// Manipulations sur le tableau par un seul thread en même temps
SectionCritiqueFin(t)
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App
// Section critique sur une variable
t est un tableau <section critique> d'entiers
SectionCritiqueDébut(t)
// Manipulations sur le tableau par un seul thread en même temps
SectionCritiqueFin(t)
// Utilisation d'une section critique nommée
SectionCritiqueDébut("MaSection")
// Deux threads ne pourront pas exécuter ce code en même temps
...
SectionCritiqueFin("MaSection")
Syntaxe
Versions 24 et supérieures
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Débuter une section critique sur une section de code : utilisation du type SectionCritique Masquer les détails

SectionCritiqueDébut(<Section critique>)
<Section critique> : Variable de type SectionCritique
Nom de la variable de type SectionCritique permettant d’identifier la section critique.
Nouveauté 24
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Débuter une section critique sur une section de code : utilisation du type SectionCritique Masquer les détails

SectionCritiqueDébut(<Section critique>)
<Section critique> : Variable de type SectionCritique
Nom de la variable de type SectionCritique permettant d’identifier la section critique.
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Débuter une section critique sur une section de code : utilisation du type SectionCritique Masquer les détails

SectionCritiqueDébut(<Section critique>)
<Section critique> : Variable de type SectionCritique
Nom de la variable de type SectionCritique permettant d’identifier la section critique.
Versions 21 et supérieures
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Débuter une section critique sur une variable Masquer les détails

SectionCritiqueDébut([<Nom de la variable>])
<Nom de la variable> : Tout type
Nom de la variable WLangage à protéger dans une section critique. Cette variable doit être définie avec l'attribut <section critique>.
Nouveauté 21
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Débuter une section critique sur une variable Masquer les détails

SectionCritiqueDébut([<Nom de la variable>])
<Nom de la variable> : Tout type
Nom de la variable WLangage à protéger dans une section critique. Cette variable doit être définie avec l'attribut <section critique>.
WindowsLinuxiPhone/iPadApple WatchWindows MobileUniversal Windows 10 App

Débuter une section critique sur une variable Masquer les détails

SectionCritiqueDébut([<Nom de la variable>])
<Nom de la variable> : Tout type
Nom de la variable WLangage à protéger dans une section critique. Cette variable doit être définie avec l'attribut <section critique>.

Débuter une section critique nommée sur une section de code Masquer les détails

SectionCritiqueDébut([<Nom de la section>])
<Nom de la section> : Chaîne de caractères (avec guillemets) optionnelle
Identifie la section critique. Ce paramètre permet de distinguer les sections de codes protégées.
Si ce paramètre n'est pas précisé, une section critique automatique est mise en place.
Remarque : la section critique automatique et la section critique correspondant à une chaîne vide ("") sont différentes.
Remarques

Utilisation des sections critiques

Pour manipuler des sections critiques, changez le mode de gestion des "threads" grâce à la fonction ThreadMode (constante ThreadSectionCritique).

Divers

  • Pour plus de détails sur les sections critiques, consultez Gérer les sections critiques.
  • Si un thread est détruit alors qu'il est dans une section critique, la section critique est automatiquement libérée.
  • Il ne peut y avoir qu'un seul thread dans toutes les sections du même nom.
  • Si des sections utilisent un nom différent, un thread peut exécuter le code d'une section pendant qu'un autre thread exécute le code d'une autre section.
  • Versions 21 et supérieures
    Pour plus de détails sur les sections critiques sur les variables, consultez Associer une section critique à une variable.
    Nouveauté 21
    Pour plus de détails sur les sections critiques sur les variables, consultez Associer une section critique à une variable.
    Pour plus de détails sur les sections critiques sur les variables, consultez Associer une section critique à une variable.

Equivalence

SémaphoreDébut("NomSémaphore")
est équivalent à :
SectionCritiqueDébut("MaSectionCritique")
En effet, par défaut, la fonction SémaphoreDébut crée un sémaphore limité à un seul thread.
Composante : wd240vm.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire