CriticalSection 클래스

임계 영역 개체를 나타냅니다.

구문

class CriticalSection;

멤버

생성자

이름 설명
CriticalSection::CriticalSection 뮤텍스 개체와 유사하지만 단일 프로세스의 스레드에만 사용할 수 있는 동기화 개체를 초기화합니다.
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

뮤텍스 개체와 유사하지만 단일 프로세스의 스레드에만 사용할 수 있는 동기화 개체를 초기화합니다.

explicit CriticalSection(
   ULONG spincount = 0
);

매개 변수

spincount
임계 영역 개체의 스핀 수입니다. 기본값은 0입니다.

설명

중요한 섹션 및 스핀 카운트에 대한 자세한 내용은 Windows API 설명서 섹션의 함수 Synchronization 를 참조 InitializeCriticalSectionAndSpinCount 하세요.

CriticalSection::cs_

임계 영역 데이터 멤버를 선언합니다.

CRITICAL_SECTION cs_;

설명

이 데이터 멤버가 보호됩니다.

CriticalSection::IsValid

현재 임계 영역이 유효한지 여부를 나타냅니다.

bool IsValid() const;

Return Value

기본적으로 항상 .true

CriticalSection::Lock

지정된 임계 영역 개체의 소유권을 기다립니다. 함수가 호출 스레드가 소유권을 부여받는 시기를 반환합니다.

SyncLock Lock();

   static SyncLock Lock(
   _In_ CRITICAL_SECTION* cs
);

매개 변수

Cs
사용자가 지정한 임계 영역 개체입니다.

Return Value

현재 임계 영역의 잠금을 해제하는 데 사용할 수 있는 잠금 개체입니다.

설명

첫 번째 Lock 함수는 현재 임계 영역 개체에 영향을 미칩니다. 두 번째 Lock 함수는 사용자가 지정한 임계 영역에 영향을 미칩니다.

CriticalSection::TryLock

차단 없이 중요한 섹션을 입력하려고 시도합니다. 호출에 성공하면 호출 스레드는 중요한 섹션의 소유권을 맡습니다.

SyncLock TryLock();

static SyncLock TryLock(
   _In_ CRITICAL_SECTION* cs
);

매개 변수

Cs
사용자가 지정한 임계 영역 개체입니다.

Return Value

중요 섹션이 성공적으로 입력되었거나 현재 스레드가 이미 중요한 섹션을 소유하고 있는 경우 0이 아닌 값입니다. 다른 스레드가 이미 중요한 섹션을 소유하고 있는 경우 0입니다.

설명

첫 번째 TryLock 함수는 현재 임계 영역 개체에 영향을 미칩니다. 두 번째 TryLock 함수는 사용자가 지정한 임계 영역에 영향을 미칩니다.