Proud::CriticalSectionLock 클래스 참조

CriticalSection 객체를 lock access하는 객체 더 자세히 ...

Public 멤버 함수

 CriticalSectionLock (CriticalSection &cs, bool initialLock)
 
 CriticalSectionLock ()
 
void SetCriticalSection (CriticalSection &cs, bool initialLock)
 
CriticalSectionGetCriticalSection () const
 
bool IsLocked () const
 
 ~CriticalSectionLock ()
 
void Lock ()
 
bool TryLock ()
 
void UnsafeLock ()
 
void Unlock ()
 
int GetRecursionCount ()
 

상세한 설명

CriticalSection 객체를 lock access하는 객체

  • 반드시 로컬 변수로 생성하여 하나의 쓰레드 내에서만 사용한다.
  • 이 객체가 파괴될 때 자동으로 lock하고 있던 critical section을 unlock한다.

생성자 & 소멸자 문서화

Proud::CriticalSectionLock::CriticalSectionLock ( CriticalSection cs,
bool  initialLock 
)
inline

critical section 객체를 생성자에서 바로 lock할 수 있다.

매개변수
cs사용할 critical section 객체
initialLocktrue이면 생성자에서 바로 lock한다.
Proud::CriticalSectionLock::CriticalSectionLock ( )
inline

critical section을 나중에 세팅할때에 사용할 생성자입니다.

Proud::CriticalSectionLock::~CriticalSectionLock ( )
inline

파괴자

  • 이미 이 객체가 점유하고 있던 CriticalSection이 있을 경우 점유 해제를 자동으로 한다.

멤버 함수 문서화

int Proud::CriticalSectionLock::GetRecursionCount ( )
inline

락이 중첩된 횟수를 조회한다.

bool Proud::CriticalSectionLock::IsLocked ( ) const
inline

잠금이 되어있나?

void Proud::CriticalSectionLock::Lock ( )
inline

critical section을 점유한다.

bool Proud::CriticalSectionLock::TryLock ( )
inline

Try Lock을 수행한다.

반환값
CriticalSection.TryLock()과 같은 값
void Proud::CriticalSectionLock::Unlock ( )
inline

critical section을 점유 해제한다.