thread_timed_mutex
thread_timed_mutex (시간 제한 뮤텍스)
timed_mutex는 여러 스레드가 공유 데이터에 동시에 접근하는 것을 막기 위해 사용하는 동기화 기본 요소예요. mutex와 유사하게 독점적이고 비재귀적인 소유권 의미를 제공하며, 추가로 제한 시간을 두고 잠금을 시도할 수 있는 기능이 있어요. 이 페이지에서는 timed_mutex의 정의와 멤버 함수들을 자세히 설명할게요.
출처: cppreference
본문
정의
<mutex> 헤더에 정의되어 있으며, C++11부터 사용할 수 있어요.
class timed_mutex ;
timed_mutex 클래스는 여러 스레드가 공유 데이터에 동시에 접근하지 못하도록 보호하는 동기화 기본 요소예요.
mutex와 비슷하게 timed_mutex는 독점적이고 비재귀적인 소유권 의미를 제공해요. 또한 timed_mutex는 멤버 함수 try_lock_for()와 try_lock_until()을 통해 제한 시간을 두고 소유권을 획득하려 시도할 수 있는 기능을 제공해요.
timed_mutex 클래스는 TimedMutex 및 StandardLayoutType의 모든 요구 사항을 충족해요.
멤버 유형
| 멤버 유형 | 정의 |
|---|---|
native_handle_type (선택적*) |
구현 정의 [edit] |
멤버 함수
| (생성자) | 뮤텍스를 생성해요 (공개 멤버 함수) [edit] |
|---|---|
| (소멸자) | 뮤텍스를 파괴해요 (공개 멤버 함수) [edit] |
operator= [삭제됨] |
복사 대입할 수 없어요 (공개 멤버 함수) [edit] |
| 잠금 | |
lock |
뮤텍스를 잠가요. 뮤텍스를 사용할 수 없으면 차단돼요 (공개 멤버 함수) [edit] |
try_lock |
뮤텍스 잠금을 시도해요. 뮤텍스를 사용할 수 없으면 바로 반환해요 (공개 멤버 함수) [edit] |
try_lock_for |
뮤텍스 잠금을 시도해요. 지정된 제한 시간 동안 뮤텍스를 사용할 수 없으면 반환해요 (공개 멤버 함수) [edit] |
try_lock_until |
뮤텍스 잠금을 시도해요. 지정된 시점이 될 때까지 뮤텍스를 사용할 수 없으면 반환해요 (공개 멤버 함수) [edit] |
unlock |
뮤텍스의 잠금을 해제해요 (공개 멤버 함수) [edit] |
| 네이티브 핸들 | |
native_handle |
기본 구현 정의 네이티브 핸들 객체를 반환해요 (공개 멤버 함수) [edit] |