std::shared_lock<Mutex>:: try_lock_for
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Shared locking | ||||
|
shared_lock::try_lock_for
|
||||
| Modifiers | ||||
| Observers | ||||
| Non-member functions | ||||
|
template
<
class
Rep,
class
Period
>
bool try_lock_for ( const std:: chrono :: duration < Rep,Period > & timeout_duration ) ; |
(C++14 이후) | |
관련된 뮤텍스를 공유 모드로 잠그려고 시도합니다. 지정된
timeout_duration
이 경과하거나 잠금이 획득될 때까지(둘 중 먼저 오는 경우) 차단합니다. 잠금 획득에 성공하면
true
를 반환하고, 그렇지 않으면
false
를 반환합니다. 효과적으로
mutex
(
)
-
>
try_lock_shared_for
(
timeout_duration
)
를 호출합니다.
이 함수는 스케줄링 또는 자원 경합 지연으로 인해 timeout_duration 보다 더 오랫동안 블록될 수 있습니다.
표준은 지속 시간을 측정하는 데 스테디 클록을 사용할 것을 권장합니다. 구현체가 대신 시스템 클록을 사용하는 경우, 대기 시간은 클록 조정에 영향을 받을 수도 있습니다.
std::system_error 는 연결된 뮤텍스가 없거나 뮤텍스가 이미 잠겨 있는 경우 발생합니다.
Mutex
가
SharedTimedLockable
요구사항을 충족하지 않을 경우 동작은 정의되지 않습니다.
목차 |
매개변수
| timeout_duration | - | 최대 대기 시간 |
반환값
true 뮤텍스의 소유권을 성공적으로 획득한 경우, false 그렇지 않은 경우.
예외
- mutex ( ) - > try_lock_shared_for ( timeout_duration ) 에 의해 발생하는 모든 예외.
- 연관된 뮤텍스가 없는 경우, std::system_error 가 std::errc::operation_not_permitted 오류 코드와 함께 발생합니다.
- 뮤텍스가 이미 잠겨 있는 경우, std::system_error 가 std::errc::resource_deadlock_would_occur 오류 코드와 함께 발생합니다.
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
참고 항목
|
연결된
TimedLockable
뮤텍스를 잠그려 시도(즉, 소유권을 획득)하며, 지정된 시간 동안 뮤텍스를 사용할 수 없는 경우 반환됨
(
std::unique_lock<Mutex>
의 public 멤버 함수)
|
|
|
연결된 뮤텍스를 잠금
(public 멤버 함수) |
|
|
연결된 뮤텍스를 잠그려 시도
(public 멤버 함수) |
|
|
지정된 시간점까지 연결된 뮤텍스를 잠그려 시도
(public 멤버 함수) |
|
|
연결된 뮤텍스를 잠금 해제
(public 멤버 함수) |