Share via


<mutex> 함수 및 변수

adopt_lock

생성자에게 전달 중인 뮤텍스 개체가 잠겨 있음을 나타내기 위해 lock_guardunique_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;