Namespaces
Variants

C++ named requirements: SharedLockable (since C++14)

From cppreference.net
C++ named requirements

SharedLockable 요구 사항은 실행 에이전트(즉, 스레드)에 대한 공유 차단 의미론을 제공하는 타입의 최소 특성을 설명합니다.

목차

요구사항

타입 L SharedLockable 이 되기 위해서는, 타입 L 의 객체 m 에 대해 다음 조건들이 만족되어야 합니다:

Expression Preconditions Effects Return value
m. lock_shared ( ) 현재 실행 에이전트(스레드, 프로세스, 태스크)가 잠금을 획득할 때까지 블로킹됩니다. 예외가 발생하면 잠금을 획득하지 못합니다.
m. try_lock_shared ( ) 블로킹 없이 현재 실행 에이전트(스레드, 프로세스, 태스크)에 대한 잠금 획득을 시도합니다. 예외가 발생하면 잠금을 획득하지 못합니다. true 잠금을 획득한 경우, false 그렇지 않은 경우
m. unlock_shared ( ) 현재 실행 에이전트가 m 에 대한 공유 잠금을 보유하고 있습니다. 실행 에이전트가 보유한 공유 잠금을 해제합니다.

예외를 발생시키지 않습니다.

공유 락

객체에 대한 락이 공유 락(shared lock) 이라고 불리려면 lock_shared , try_lock_shared , try_lock_shared_for , 또는 try_lock_shared_until 멤버 함수 호출을 통해 획득되어야 합니다.

표준 라이브러리

다음 표준 라이브러리 타입들은 SharedLockable 요구 사항을 충족합니다:

공유 상호 배제 기능을 제공함
(클래스)
공유 상호 배제 기능을 제공하고 타임아웃으로 잠금을 구현함
(클래스)

참고 항목