System.SyncObjs.TCriticalSection
Delphi
TCriticalSection = class(TSynchroObject)
C++
class PASCALIMPLEMENTATION TCriticalSection : public TSynchroObject
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
class | public | System.SyncObjs.pas System.SyncObjs.hpp |
System.SyncObjs | System.SyncObjs |
Description
TCriticalSection permet à un seul thread d'une application multithread de bloquer temporairement l'accès à un bloc de code aux autres threads.
Utilisez TCriticalSection pour protéger des opérations pouvant être perturbées si d'autres threads exécutent certaines sections de code avant que l'opération ne soit terminée. Les sections critiques fonctionnent comme des portes qui ne permettent l'entrée qu'e d'un seul thread à la fois. Comme cela bloque l'exécution des autres threads, l'usage excessif de sections critiques peut altérer considérablement les performances.
Les sections critiques doivent être de portée globale afin d'être disponibles dans tous les threads. Dans chaque thread, toute action pouvant interférer avec les opérations sauvegardées par la section critique ne peuvent avoir lieu qu'après l'appel de la méthode Acquire ou Enter. Les threads qui n'utilisent pas la section critiques pour les opérations concernées peuvent introduire des erreurs.