std:: condition_variable_any
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
헤더 파일에 정의됨
<condition_variable>
|
||
|
class
condition_variable_any
;
|
(C++11부터) | |
condition_variable_any
클래스는
std::condition_variable
의 일반화입니다.
std::condition_variable
이
std::
unique_lock
<
std::
mutex
>
에서만 동작하는 반면,
condition_variable_any
는
BasicLockable
요구사항을 충족하는 모든 락에서 동작할 수 있습니다.
조건 변수의 의미론에 대한 설명은 std::condition_variable 를 참조하십시오.
클래스
std::condition_variable_any
는
StandardLayoutType
입니다. 이 클래스는
CopyConstructible
,
MoveConstructible
,
CopyAssignable
, 또는
MoveAssignable
이 아닙니다.
만약 락이 std:: unique_lock < std:: mutex > 인 경우, std::condition_variable 이 더 나은 성능을 제공할 수 있습니다.
목차 |
멤버 함수
|
객체를 생성함
(public member function) |
|
|
객체를 소멸함
(public member function) |
|
|
operator=
[deleted]
|
복사 할당 불가
(public member function) |
Notification |
|
|
대기 중인 하나의 스레드에 알림
(public member function) |
|
|
대기 중인 모든 스레드에 알림
(public member function) |
|
Waiting |
|
|
조건 변수가 깨어날 때까지 현재 스레드를 차단함
(public member function) |
|
|
조건 변수가 깨어나거나 지정된 시간 제한이 지날 때까지 현재 스레드를 차단함
(public member function) |
|
|
조건 변수가 깨어나거나 지정된 시간 점에 도달할 때까지 현재 스레드를 차단함
(public member function) |
|
참고 사항
std::condition_variable_any
는 공유 소유권 모드에서
std::shared_lock
과 함께 사용되어
std::shared_mutex
를 대기하는 데 사용될 수 있습니다.
std::condition_variable_any
의 가능한 사용 사례 중 하나는 사용자 정의
Lockable
타입과 함께 편리한 인터럽트 가능 대기를 제공하는 것입니다: 사용자 정의 잠금 연산은 관련된 뮤텍스를 예상대로 잠그는 동시에, 인터럽트 신호를 수신했을 때 이 조건 변수에 알리는 데 필요한 설정을 수행합니다.
[1]
참고 항목
|
(C++11)
|
std::unique_lock
과 연관된 조건 변수를 제공합니다
(클래스) |
외부 링크
|