Namespaces
Variants

std::recursive_timed_mutex:: try_lock

From cppreference.net

Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
bool try_lock ( ) noexcept ;
(C++11 이후)

뮤텍스를 잠그려 시도합니다. 즉시 반환됩니다. 잠금 획득에 성공하면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

이 함수는 허위로 실패할 수 있으며, 다른 스레드에 의해 현재 뮤텍스가 잠겨 있지 않은 경우에도 false 를 반환할 수 있습니다.

스레드는 재귀적 뮤텍스에서 try_lock 을 반복적으로 호출할 수 있습니다. try_lock 호출이 성공할 때마다 소유권 카운트가 증가하며: 뮤텍스는 스레드가 unlock 을 해당 횟수만큼 호출한 후에야 해제됩니다.

소유권의 최대 단계 수는 명시되어 있지 않습니다. 이 수를 초과할 경우 try_lock 호출은 false 를 반환합니다.

동일한 뮤텍스에 대한 이전 unlock() 연산은 이 연산이 true 를 반환할 경우 ( std::memory_order 에 정의된 대로) synchronizes-with 합니다. 이 연산이 false 를 반환할 경우 이전 lock() 연산은 이 연산과 synchronize하지 않습니다.

목차

매개변수

(없음)

반환값

true 락이 성공적으로 획득된 경우, 그렇지 않으면 false .

예외

아무것도 던지지 않습니다.

예제

참고 항목

뮤텍스를 잠금, 뮤텍스를 사용할 수 없는 경우 차단됨
(public member function)
뮤텍스 잠금을 시도하며, 지정된 타임아웃 시간 동안
뮤텍스를 사용할 수 없었으면 반환됨
(public member function)
뮤텍스 잠금을 시도하며, 지정된 시간 점에 도달할 때까지
뮤텍스를 사용할 수 없었으면 반환됨
(public member function)
뮤텍스를 잠금 해제
(public member function)
C documentation for mtx_trylock