CriticalSection (classe)
Rappresenta un oggetto sezione critico.
Sintassi
class CriticalSection;
Membri
Costruttore
Nome | 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
Nome | 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
Nome | 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 true
sempre .
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.