Public 멤버 함수 | |
PROUD_API | CriticalSection () |
PROUD_API | CriticalSection (CriticalSectionSettings &settings) |
PROUD_API | ~CriticalSection (void) |
PROUD_API void | Lock () |
PROUD_API void | UnsafeLock () |
PROUD_API void | Unlock () |
PROUD_API bool | TryLock () |
PROUD_API bool | IsValid () |
bool | IsLockedByCurrentThread () const |
bool | IsLocked () const |
void | Reset (CriticalSectionSettings &settings) |
void | ShowErrorOnInvalidState () |
uint64_t | GetLastLockedThreadID () |
Public 속성 | |
bool | m_neverCallDtor |
int | m_tryLockSuccessCount |
int | m_tryLockFailCount |
Critical section 클래스
PROUD_API Proud::CriticalSection::CriticalSection | ( | ) |
Initializes a critical section object.
PROUD_API Proud::CriticalSection::CriticalSection | ( | CriticalSectionSettings & | settings | ) |
Initializes a critical section object.
PROUD_API Proud::CriticalSection::~CriticalSection | ( | void | ) |
파괴자
uint64_t Proud::CriticalSection::GetLastLockedThreadID | ( | ) |
returns ID of the thread where the last acquire (lock) is done.
This value does not set to zero if last unacquire (unlock) is done. You must set Proud.CriticalSectionSettings.m_updateLastLockedThreadID to true before using this function.
NOTE: on unix, this is pthread_t value. This may differ from thread ID shown in debugger.
bool Proud::CriticalSection::IsLocked | ( | ) | const |
Returns true if this is locked by any thread.
bool Proud::CriticalSection::IsLockedByCurrentThread | ( | ) | const |
Returns true if this is locked by current thread.
PROUD_API void Proud::CriticalSection::Lock | ( | ) |
critical section을 이 메서드를 호출하는 스레드가 점유한다. 잘못된 호출이 일어났을 시 MessageBox를 띄워줍니다.
PROUD_API bool Proud::CriticalSection::TryLock | ( | ) |
EnterCriticalSection 대신 TryEnterCriticalSection을 사용한다.
PROUD_API void Proud::CriticalSection::Unlock | ( | ) |
critical section을 이 메서드를 호출하는 스레드가 점유 해제한다.
PROUD_API void Proud::CriticalSection::UnsafeLock | ( | ) |
critical section을 이 메서드를 호출하는 스레드가 점유한다. 잘못된 호출이 일어났을 시 아무 처리하지 않고 넘어갑니다.