Condividi tramite


CriticalSection (classe)

Rappresenta un oggetto sezione critico.

Sintassi

class CriticalSection;

Membri

Costruttore

Name Descrizione
CriticalSection::CriticalSection Inizializza un oggetto di sincronizzazione simile a un oggetto mutex, ma può essere utilizzato solo dai thread di un singolo processo.
CriticalSection::~CriticalSection Deinitialize e distrugge l'oggetto corrente CriticalSection .

Metodi pubblici

Name Descrizione
CriticalSection::IsValid Indica se la sezione critica corrente è valida.
CriticalSection::Lock Attende la proprietà dell'oggetto sezione critica specificato. La funzione restituisce quando al thread chiamante viene concessa la proprietà.
CriticalSection::TryLock Tenta di immettere una sezione critica senza bloccare. Se la chiamata ha esito positivo, il thread chiamante assume la proprietà della sezione critica.

Membri dati protetti

Name Descrizione
CriticalSection::cs_ Dichiara un membro dati della sezione critica.

Gerarchia di ereditarietà

CriticalSection

Requisiti

Intestazione: corewrappers.h

Spazio dei nomi: Microsoft::WRL::Wrappers

CriticalSection::~CriticalSection

Deinitialize e distrugge l'oggetto corrente CriticalSection .

WRL_NOTHROW ~CriticalSection();

CriticalSection::CriticalSection

Inizializza un oggetto di sincronizzazione simile a un oggetto mutex, ma può essere utilizzato solo dai thread di un singolo processo.

explicit CriticalSection(
   ULONG spincount = 0
);

Parametri

spincount
Numero di rotazioni per l'oggetto sezione critica. Il valore predefinito è 0.

Osservazioni:

Per altre informazioni sulle sezioni critiche e sui conteggi di selezione, vedere la InitializeCriticalSectionAndSpinCount funzione nella Synchronization sezione della documentazione dell'API di Windows.

CriticalSection::cs_

Dichiara un membro dati della sezione critica.

CRITICAL_SECTION cs_;

Osservazioni:

Questo membro dati è protetto.

CriticalSection::IsValid

Indica se la sezione critica corrente è valida.

bool IsValid() const;

Valore restituito

Per impostazione predefinita, restituisce truesempre .

CriticalSection::Lock

Attende la proprietà dell'oggetto sezione critica specificato. La funzione restituisce quando al thread chiamante viene concessa la proprietà.

SyncLock Lock();

   static SyncLock Lock(
   _In_ CRITICAL_SECTION* cs
);

Parametri

Cs
Oggetto sezione critica specificato dall'utente.

Valore restituito

Oggetto lock che può essere utilizzato per sbloccare la sezione critica corrente.

Osservazioni:

La prima Lock funzione influisce sull'oggetto sezione critica corrente. La seconda Lock funzione influisce su una sezione critica specificata dall'utente.

CriticalSection::TryLock

Tenta di immettere una sezione critica senza bloccare. Se la chiamata ha esito positivo, il thread chiamante assume la proprietà della sezione critica.

SyncLock TryLock();

static SyncLock TryLock(
   _In_ CRITICAL_SECTION* cs
);

Parametri

Cs
Oggetto sezione critica specificato dall'utente.

Valore restituito

Valore diverso da zero se la sezione critica viene immessa correttamente o il thread corrente possiede già la sezione critica. Zero se un altro thread possiede già la sezione critica.

Osservazioni:

La prima TryLock funzione influisce sull'oggetto sezione critica corrente. La seconda TryLock funzione influisce su una sezione critica specificata dall'utente.