System.SyncObjs.TCriticalSection

Aus Appmethod Libraries
Wechseln zu: Navigation, Suche

System.SyncObjs.TSynchroObjectSystem.TObjectTCriticalSection

Object Pascal

TCriticalSection = class(TSynchroObject)

C++

class PASCALIMPLEMENTATION TCriticalSection : public TSynchroObject

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
class public
System.SyncObjs.pas
System.SyncObjs.hpp
System.SyncObjs System.SyncObjs

Beschreibung

TCriticalSection ermöglicht es einem Thread in einer Multithread-Anwendung, andere Threads vorübergehend an dem Zugriff auf einen bestimmten Codebolck zu hindern.

Mit TCriticalSection können Operationen abgesichert werden, die nicht durch die Ausführung eines bestimmten Codeabschnitts durch einen anderen Thread unterbrochen werden dürfen. Kritische Abschnitt arbeiten wie Gates, die jeweils nur einen einzelnen Thread durchlassen. Da die Ausführung anderer Threads blockiert wird, verringert sich die Leistung der Anwendung erheblich, wenn kritische Abschnitte zu häufig eingesetzt werden.

Kritische Abschnitte müssen einen globalen Gültigkeitsbereich besitzen, damit sie für alle Threads zur Verfügung stehen. In jedem Thread sollten Aktionen, die die Ausführung der durch TCriticalSection geschützten Operationen stören könnten, nur nach dem Aufruf der Methode Acquire oder Enter stattfinden. Threads, die für wichtige Operationen TCriticalSection nicht verwenden, können Fehler verursachen.

Siehe auch

Codebeispiele