std::shared_timed_mutex:: lock_shared
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Exclusive locking | ||||
| Shared locking | ||||
|
shared_timed_mutex::lock_shared
|
||||
|
void
lock_shared
(
)
;
|
(C++14 이후) | |
뮤텍스의 공유 소유권을 획득합니다. 다른 스레드가 뮤텍스를 배타적 소유권으로 보유 중인 경우,
lock_shared
호출은 공유 소유권을 획득할 수 있을 때까지 실행을 차단합니다.
만약
lock_shared
가 이미
mutex
를 어떤 모드(독점 또는 공유)로든 소유하고 있는 스레드에 의해 호출되면, 그 동작은 정의되지 않습니다.
공유 모드에서 뮤텍스를 이미 잠근 공유 소유자의 수가 구현에서 정의된 최대 수를 초과하는 경우,
lock_shared
는 공유 소유자 수가 감소할 때까지 실행을 차단합니다. 최대 소유자 수는 최소 10000임이 보장됩니다.
동일한 뮤텍스에 대한 이전 unlock() 연산은 이 연산과 synchronizes-with ( std::memory_order 에 정의된 대로) 관계를 가집니다.
목차 |
매개변수
(없음)
반환값
(없음)
예외
오류가 발생하면
std::system_error
를 발생시킵니다. 여기에는
lock
이 명세를 충족하는 것을 방해하는 기본 운영 체제의 오류도 포함됩니다. 예외가 발생한 경우 뮤텍스는 잠기지 않은 상태입니다.
참고 사항
lock_shared()
는 일반적으로 직접 호출되지 않습니다:
std::shared_lock
이 공유 잠금을 관리하는 데 사용됩니다.
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
참고 항목
|
뮤텍스를 잠금니다, 뮤텍스를 사용할 수 없는 경우 차단됩니다
(public member function) |
|
|
공유 소유권을 위해 뮤텍스를 잠그려 시도합니다, 뮤텍스를 사용할 수 없는 경우 반환됩니다
(public member function) |
|
|
뮤텍스를 잠금 해제합니다 (공유 소유권)
(public member function) |