CriticalSection – třída
Představuje objekt kritického oddílu.
Syntaxe
class CriticalSection;
Členové
Konstruktor
Název | Popis |
---|---|
CriticalSection::CriticalSection | Inicializuje synchronizační objekt, který je podobný objektu mutex, ale může být používán pouze vlákny jednoho procesu. |
CriticalSection::~CriticalSection | Deinicializuje a zničí aktuální CriticalSection objekt. |
Veřejné metody
Název | Popis |
---|---|
CriticalSection::IsValid | Určuje, jestli je aktuální kritický oddíl platný. |
CriticalSection::Lock | Čeká na vlastnictví zadaného objektu kritického oddílu. Funkce se vrátí při udělení vlastnictví volajícího vlákna. |
CriticalSection::TryLock | Pokusí se zadat kritický oddíl bez blokování. Pokud je volání úspěšné, volající vlákno převezme vlastnictví kritického oddílu. |
Chráněné datové členy
Název | Popis |
---|---|
CriticalSection::cs_ | Deklaruje datový člen kritického oddílu. |
Hierarchie dědičnosti
CriticalSection
Požadavky
Hlavička: corewrappers.h
Obor názvů: Microsoft::WRL::Wrappers
CriticalSection::~CriticalSection
Deinicializuje a zničí aktuální CriticalSection
objekt.
WRL_NOTHROW ~CriticalSection();
CriticalSection::CriticalSection
Inicializuje synchronizační objekt, který je podobný objektu mutex, ale může být používán pouze vlákny jednoho procesu.
explicit CriticalSection(
ULONG spincount = 0
);
Parametry
číselník
Počet čísel pro objekt kritického oddílu. Výchozí hodnota je 0.
Poznámky
Další informace o důležitých oddílech a číselných počtech najdete InitializeCriticalSectionAndSpinCount
v Synchronization
části dokumentace k rozhraní API systému Windows.
CriticalSection::cs_
Deklaruje datový člen kritického oddílu.
CRITICAL_SECTION cs_;
Poznámky
Tento datový člen je chráněn.
CriticalSection::IsValid
Určuje, jestli je aktuální kritický oddíl platný.
bool IsValid() const;
Návratová hodnota
Ve výchozím nastavení vždy vrátí true
hodnotu .
CriticalSection::Lock
Čeká na vlastnictví zadaného objektu kritického oddílu. Funkce se vrátí při udělení vlastnictví volajícího vlákna.
SyncLock Lock();
static SyncLock Lock(
_In_ CRITICAL_SECTION* cs
);
Parametry
Cs
Objekt kritického oddílu zadaný uživatelem.
Návratová hodnota
Zámek objektu, který lze použít k odemknutí aktuálního kritického oddílu.
Poznámky
První Lock
funkce ovlivňuje aktuální objekt kritického oddílu. Druhá Lock
funkce má vliv na kritickou část určenou uživatelem.
CriticalSection::TryLock
Pokusí se zadat kritický oddíl bez blokování. Pokud je volání úspěšné, volající vlákno převezme vlastnictví kritického oddílu.
SyncLock TryLock();
static SyncLock TryLock(
_In_ CRITICAL_SECTION* cs
);
Parametry
Cs
Objekt kritického oddílu zadaný uživatelem.
Návratová hodnota
Nenulová hodnota, pokud je kritická část úspěšně zadána nebo aktuální vlákno již vlastní kritickou část. Nula, pokud už důležité oddíly vlastní jiné vlákno.
Poznámky
První TryLock
funkce ovlivňuje aktuální objekt kritického oddílu. Druhá TryLock
funkce má vliv na kritickou část určenou uživatelem.