Share via


CriticalSection 類別

表示重要區段物件。

語法

class CriticalSection;

成員

建構函式

名稱 描述
CriticalSection::CriticalSection 初始化與 Mutex 物件類似的同步處理物件,但只能由單一進程的線程使用。
CriticalSection::~CriticalSection 取消初始化並終結目前的 CriticalSection 物件。

公用方法

名稱 描述
CriticalSection::IsValid 指出目前的重要區段是否有效。
CriticalSection::Lock 等候指定之重要區段對象的擁有權。 當呼叫線程被授與擁有權時,函式會傳回 。
CriticalSection::TryLock 嘗試在不封鎖的情況下進入重要區段。 如果呼叫成功,呼叫線程會取得重要區段的擁有權。

受保護的資料成員

名稱 描述
CriticalSection::cs_ 宣告重要區段數據成員。

繼承階層架構

CriticalSection

需求

標頭: corewrappers.h

命名空間: 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 個函式會影響使用者指定的重要區段。