std::shared_lock<Mutex>:: try_lock_until
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Shared locking | ||||
|
shared_lock::try_lock_until
|
||||
| Modifiers | ||||
| Observers | ||||
| Non-member functions | ||||
|
template
<
class
Clock,
class
Duration
>
bool try_lock_until ( const std:: chrono :: time_point < Clock,Duration > & timeout_time ) ; |
(C++14 이후) | |
연결된 뮤텍스를 공유 모드로 잠그려 시도합니다. 지정된 timeout_time 에 도달하거나 잠금이 획득될 때까지(둘 중 먼저 도래하는 시점) 블록합니다. 잠금 획득에 성공하면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. timeout_time 이 도달한 시점보다 더 오래 블록될 수 있습니다.
효과적으로 mutex ( ) - > try_lock_shared_until ( timeout_time ) 를 호출합니다.
std::system_error 는 연결된 뮤텍스가 없거나 뮤텍스가 이미 잠겨 있는 경우 발생합니다.
Clock
는
Clock
요구 사항을 충족해야 합니다.
Mutex
가
SharedTimedLockable
요구 사항을 충족하지 않으면 동작은 정의되지 않습니다.
std::
chrono
::
is_clock_v
<
Clock
>
가
false
인 경우 프로그램의 형식이 올바르지 않습니다.
(C++20부터)
목차 |
매개변수
| timeout_time | - | 블록이 수행될 최대 시간 지점 |
반환값
true 뮤텍스의 소유권을 성공적으로 획득한 경우, false 그렇지 않은 경우.
예외
- mutex ( ) - > try_lock_shared_for ( timeout_time ) 에 의해 발생하는 모든 예외.
- 연관된 뮤텍스가 없는 경우, std::system_error 가 std::errc::operation_not_permitted 오류 코드와 함께 발생합니다.
- 뮤텍스가 이미 잠겨 있는 경우, std::system_error 가 std::errc::resource_deadlock_would_occur 오류 코드와 함께 발생합니다.
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
참고 항목
|
연결된 뮤텍스를 잠금
(public member function) |
|
|
연결된 뮤텍스를 잠그려 시도
(public member function) |
|
|
지정된 시간 동안 연결된 뮤텍스를 잠그려 시도
(public member function) |
|
|
연결된 뮤텍스를 잠금 해제
(public member function) |
|
|
연결된
TimedLockable
뮤텍스를 잠그려 시도(즉, 소유권 획득), 지정된 시간 지점에 도달할 때까지 뮤텍스를 사용할 수 없는 경우 반환
(
std::unique_lock<Mutex>
의 public member function)
|