CriticalSection 類別
表示重要區段物件。
語法
class CriticalSection;
成員
建構函式
名稱 | 描述 |
---|---|
CriticalSection::CriticalSection | 初始化與 Mutex 物件類似的同步處理物件,但只能由單一進程的線程使用。 |
CriticalSection::~CriticalSection | 取消初始化並終結目前的 CriticalSection 物件。 |
公用方法
名稱 | 描述 |
---|---|
CriticalSection::IsValid | 指出目前的重要區段是否有效。 |
CriticalSection::Lock | 等候指定之重要區段對象的擁有權。 當呼叫線程被授與擁有權時,函式會傳回 。 |
CriticalSection::TryLock | 嘗試在不封鎖的情況下進入重要區段。 如果呼叫成功,呼叫線程會取得重要區段的擁有權。 |
受保護的資料成員
名稱 | 描述 |
---|---|
CriticalSection::cs_ | 宣告重要區段數據成員。 |
繼承階層架構
CriticalSection
需求
標頭: corewrappers.h
Namespace: Microsoft::WRL::Wrappers
CriticalSection::~CriticalSection
取消初始化並終結目前的 CriticalSection
物件。
WRL_NOTHROW ~CriticalSection();
CriticalSection::CriticalSection
初始化與 Mutex 物件類似的同步處理物件,但只能由單一進程的線程使用。
explicit CriticalSection(
ULONG spincount = 0
);
參數
spincount
重要區段物件的微調計數。 預設值為 0。
備註
如需重要區段和微調計數的詳細資訊,請參閱 InitializeCriticalSectionAndSpinCount
Windows API 檔一節中的 Synchronization
函式。
CriticalSection::cs_
宣告重要區段數據成員。
CRITICAL_SECTION cs_;
備註
此數據成員受到保護。
CriticalSection::IsValid
指出目前的重要區段是否有效。
bool IsValid() const;
傳回值
根據預設,一律會傳 true
回 。
CriticalSection::Lock
等候指定之重要區段對象的擁有權。 當呼叫線程被授與擁有權時,函式會傳回 。
SyncLock Lock();
static SyncLock Lock(
_In_ CRITICAL_SECTION* cs
);
參數
cs
使用者指定的重要區段物件。
傳回值
可用來解除鎖定目前重要區段的鎖定物件。
備註
第一個 Lock
函式會影響目前的重要區段物件。 第二 Lock
個函式會影響使用者指定的重要區段。
CriticalSection::TryLock
嘗試在不封鎖的情況下進入重要區段。 如果呼叫成功,呼叫線程會取得重要區段的擁有權。
SyncLock TryLock();
static SyncLock TryLock(
_In_ CRITICAL_SECTION* cs
);
參數
cs
使用者指定的重要區段物件。
傳回值
如果成功輸入關鍵區段或目前線程已擁有關鍵區段,則為非零值。 如果另一個線程已經擁有關鍵區段,則為零。
備註
第一個 TryLock
函式會影響目前的重要區段物件。 第二 TryLock
個函式會影響使用者指定的重要區段。