PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Qu'est-ce qu'une section critique ?
  • Utilisation des sections critiques
  • Divers
  • Equivalence
Produits
WinDevWebDev - Code ServeurWebDev - Code NavigateurWinDev MobileEtats et Requêtes
Plateformes
WindowsLinuxWindows MobileUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadApple Watch
Langages
JavaPHPAjaxCode Utilisateur (MCU)Langage Externe
Bases de données
HFSQLHFSQL Client/ServeurProcédures stockéesOLE DBODBCAccès Natifs
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 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
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
WinDev MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
Nouveauté 18
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
WinDev MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
WinDev MobileWidget 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.
WinDev MobileiPhone/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.
WinDev MobileiPhone/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.
WinDev MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 21 et supérieures
WinDev MobileApple Watch Cette fonction est désormais disponible en mode Apple Watch.
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
WinDev MobileApple Watch Cette fonction est désormais disponible en mode Apple Watch.
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WinDev MobileApple Watch Cette fonction est désormais disponible en mode Apple Watch.
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Exemple
SectionCritiqueDébut()
// Deux threads ne pourront pas exécuter ce code en même temps
...
SectionCritiqueFin()
Syntaxe

Débuter une section critique 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.
Versions 21 et supérieures
AndroidWidget Android Non disponible en Android et en Widget Android

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

SectionCritiqueDébut([<Nom de la variable>])
<Nom de la variable> : Chaîne de caractères
Nom de la variable WLangage à protéger dans une section critique.
Nouveauté 21
AndroidWidget Android Non disponible en Android et en Widget Android

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

SectionCritiqueDébut([<Nom de la variable>])
<Nom de la variable> : Chaîne de caractères
Nom de la variable WLangage à protéger dans une section critique.
AndroidWidget Android Non disponible en Android et en Widget Android

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

SectionCritiqueDébut([<Nom de la variable>])
<Nom de la variable> : Chaîne de caractères
Nom de la variable WLangage à protéger dans une section critique.
Remarques

Qu'est-ce qu'une section critique ?

Une section critique est un sémaphore limité à un seul thread sur une seule portion de code (traitement, procédure, ...).
Au contraire des sémaphores, une section critique ne peut être utilisée qu'une seule fois.
Par exemple, il est possible d'utiliser une section critique pour protéger une procédure de mise à jour des champs d'une fenêtre.
Le début de la section critique est signalé par la fonction SectionCritiqueDébut. Il est possible de donner un nom à cette section critique.
Remarque : Les sections critiques sont uniques pour l'application qui les a créés. Elles ne peuvent pas être partagées entre plusieurs applications.

Utilisation des sections critiques

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

Divers

  • 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.
Composantes
WinDevWebDev - Code ServeurEtats et Requêtes wd210vm.dll
Windows Mobile wp210vm.dll
Java wd210java.jar
Linux wd210vm.so
Android wd210android.jar
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire