<mutex>
함수 및 변수
adopt_lock
생성자에게 전달 중인 뮤텍스 개체가 잠겨 있음을 나타내기 위해 lock_guard 및 unique_lock의 생성자에 전달할 수 있는 개체를 나타냅니다.
const adopt_lock_t adopt_lock;
call_once
지정된 호출 가능 개체를 실행 중 정확하게 한 번 호출할 수 있는 메커니즘을 제공합니다.
template <class Callable, class... Args>
void call_once(once_flag& Flag,
Callable F&&, Args&&... A);
매개 변수
Flag
호출 가능 개체가 한 번만 호출되도록 하는 once_flag 개체입니다.
F
호출 가능 개체입니다.
A
인수 목록입니다.
설명
플래그가 유효하지 않으면 함수는 오류 코드invalid_argument
가 있는 system_error throw합니다. 그렇지 않으면 템플릿 함수는 플래그 인수를 사용하여 템플릿 함수가 호출 F(A...)
되는 횟수에 관계없이 정확히 한 번 호출되도록 합니다. 예외가 throw되어 F(A...)
가 종료되면 호출은 실패한 것입니다.
defer_lock
unique_lock을 위해 생성자에 전달할 수 있는 개체를 나타냅니다. 이 변수는 생성자가 역시 생성자로 전달되는 뮤텍스 개체를 잠그면 안 됨을 나타냅니다.
const defer_lock_t defer_lock;
lock
교착 상태가 발생하지 않고 모든 인수를 잠그려고 시도합니다.
template <class L1, class L2, class... L3>
void lock(L1&, L2&, L3&...);
설명
템플릿 함수에 대한 인수는 뮤텍스 형식이어야 합니다. 단, try_lock
호출에서는 예외를 throw할 수 있습니다.
함수는 lock
, try_lock
, unlock
호출에 의한 교착 상태 없이 모든 인수를 잠급니다. lock
또는 try_lock
호출에서 예외가 throw되면 함수는 예외를 다시 throw하기 전에 정상적으로 잠긴 모든 뮤텍스 개체에 대해 unlock
을 호출합니다.
swap
template <class Mutex>
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y) noexcept;
try_lock
template <class L1, class L2, class... L3> int try_lock(L1&, L2&, L3&...);
try_to_lock
생성자가 차단 없이 역시 생성자로 전달되는 mutex
의 잠금 해제를 시도해야 함을 나타내기 위해 unique_lock의 생성자에 전달할 수 있는 개체를 나타냅니다.
const try_to_lock_t try_to_lock;