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
함수는 사용자가 지정한 임계 영역에 영향을 미칩니다.