ENTERCRITICALSECTION |
Entrer dans une section critique |
---|---|
Free Pascal | System |
Syntaxe
Procedure EnterCriticalsection(var cs: TRTLCriticalSection); |
Paramètres
Nom | Description |
---|---|
cs | Ce paramètre permet d'indiquer le contexte de la section critique à utiliser. |
Description
Cette procédure permet d'entrer dans une section critique.
Remarques
- La procédure EnterCriticalSection suspendra le processus léger actuel si un autre processus léger est actuellement entré dans la section critique. Lorsque l'autre processus léger a quitté la section critique (via LeaveCriticalSection), le processus léger actuel reprend l'exécution. Le résultat est qu'un seul processus léger exécute du code étant protégé par une paire EnterCriticalsection et LeaveCriticalSection.
- La section critique doit avoir été initialisée avec InitCriticalSection avant un appel à EnterCriticalsection.
- Un appel à EnterCriticalsection doit toujours être mis en correspondance avec un appel à LeaveCriticalSection. Pour éviter les problèmes, il est préférable d'inclure le code à exécuter dans un bloc try ... finally, comme suit :
- Pour des raisons de performances, il est préférable de limiter le code entre l'entrée et la sortie d'une section critique aussi courte que possible.
Voir également
Langage de programmation - Free Pascal - Référence de procédures et fonctions - «InitCriticalsection»
Langage de programmation - Free Pascal - Référence de procédures et fonctions - «DoneCriticalsection»
Langage de programmation - Free Pascal - Référence de procédures et fonctions - «LeaveCriticalsection»
Dernière mise à jour : Samedi, le 18 juillet 2015