CriticalSection-Klasse

Stellt ein kritisches Abschnittsobjekt dar.

Syntax

class CriticalSection;

Member

Konstruktor

Name Beschreibung
CriticalSection::CriticalSection Initialisiert ein Synchronisierungsobjekt, das einem Mutex-Objekt ähnelt, kann jedoch nur von den Threads eines einzelnen Prozesses verwendet werden.
CriticalSection::~CriticalSection Deinitialisiert und zerstört das aktuelle CriticalSection Objekt.

Öffentliche Methoden

Name Beschreibung
CriticalSection::IsValid Gibt an, ob der aktuelle kritische Abschnitt gültig ist.
CriticalSection::Lock Wartet auf den Besitz des angegebenen kritischen Abschnittsobjekts. Die Funktion gibt zurück, wenn dem aufrufenden Thread der Besitz gewährt wird.
CriticalSection::TryLock Versucht, einen kritischen Abschnitt ohne Blockierung einzugeben. Wenn der Aufruf erfolgreich ist, übernimmt der aufrufende Thread den Besitz des kritischen Abschnitts.

Geschützte Datenmember

Name Beschreibung
CriticalSection::cs_ Deklariert ein kritisches Abschnittsdatenelement.

Vererbungshierarchie

CriticalSection

Anforderungen

Kopfzeile: corewrappers.h

Namespace: Microsoft::WRL::Wrapper

CriticalSection::~CriticalSection

Deinitialisiert und zerstört das aktuelle CriticalSection Objekt.

WRL_NOTHROW ~CriticalSection();

CriticalSection::CriticalSection

Initialisiert ein Synchronisierungsobjekt, das einem Mutex-Objekt ähnelt, kann jedoch nur von den Threads eines einzelnen Prozesses verwendet werden.

explicit CriticalSection(
   ULONG spincount = 0
);

Parameter

Spincount
Die Drehzahl für das kritische Abschnittsobjekt. Der Standardwert ist 0.

Hinweise

Weitere Informationen zu kritischen Abschnitten und Spincounts finden Sie in der InitializeCriticalSectionAndSpinCount Funktion im Synchronization Abschnitt der Windows-API-Dokumentation.

CriticalSection::cs_

Deklariert ein kritisches Abschnittsdatenelement.

CRITICAL_SECTION cs_;

Hinweise

Dieses Datenelement ist geschützt.

CriticalSection::IsValid

Gibt an, ob der aktuelle kritische Abschnitt gültig ist.

bool IsValid() const;

Rückgabewert

Gibt standardmäßig immer zurück true.

CriticalSection::Lock

Wartet auf den Besitz des angegebenen kritischen Abschnittsobjekts. Die Funktion gibt zurück, wenn dem aufrufenden Thread der Besitz gewährt wird.

SyncLock Lock();

   static SyncLock Lock(
   _In_ CRITICAL_SECTION* cs
);

Parameter

Cs
Ein vom Benutzer angegebenes kritisches Abschnittsobjekt.

Rückgabewert

Ein Sperrobjekt, das zum Entsperren des aktuellen kritischen Abschnitts verwendet werden kann.

Hinweise

Die erste Lock Funktion wirkt sich auf das aktuelle kritische Abschnittsobjekt aus. Die zweite Lock Funktion wirkt sich auf einen vom Benutzer angegebenen kritischen Abschnitt aus.

CriticalSection::TryLock

Versucht, einen kritischen Abschnitt ohne Blockierung einzugeben. Wenn der Aufruf erfolgreich ist, übernimmt der aufrufende Thread den Besitz des kritischen Abschnitts.

SyncLock TryLock();

static SyncLock TryLock(
   _In_ CRITICAL_SECTION* cs
);

Parameter

Cs
Ein vom Benutzer angegebenes kritisches Abschnittsobjekt.

Rückgabewert

Ein Wert ungleich Null, wenn der kritische Abschnitt erfolgreich eingegeben wird oder der aktuelle Thread bereits den kritischen Abschnitt besitzt. Null, wenn ein anderer Thread bereits den kritischen Abschnitt besitzt.

Hinweise

Die erste TryLock Funktion wirkt sich auf das aktuelle kritische Abschnittsobjekt aus. Die zweite TryLock Funktion wirkt sich auf einen vom Benutzer angegebenen kritischen Abschnitt aus.