Namespaces
Variants

C++ named requirements: BasicLockable (since C++11)

From cppreference.net
C++ named requirements

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

목차

요구사항

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

Expression Preconditions Effects
m. lock ( ) 현재 실행 에이전트(스레드, 프로세스, 태스크)가 lock을 획득할 때까지 블록합니다. 예외가 발생하면 lock을 획득하지 않습니다.
m. unlock ( ) 현재 실행 에이전트가 m 에 대해 비공유 lock을 보유하고 있습니다. 실행 에이전트가 보유한 비공유 lock을 해제합니다.

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

비공유 락

객체에 대한 락이 비공유 락(non-shared lock) 이라고 말하는 것은 lock , try_lock , try_lock_for , 또는 try_lock_until 멤버 함수 호출을 통해 획득된 경우입니다.

표준 라이브러리

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

(C++11)
기본 상호 배제 기능 제공
(클래스)
동일 스레드에서 재귀적으로 잠글 수 있는 상호 배제 기능 제공
(클래스)
동일 스레드에서 재귀적으로 잠글 수 있는 상호 배제 기능 제공
타임아웃을 통한 잠금 구현
(클래스)
공유 상호 배제 기능 제공
(클래스)
공유 상호 배제 기능 제공 및 타임아웃을 통한 잠금 구현
(클래스)
타임아웃을 통한 잠금을 구현하는 상호 배제 기능 제공
(클래스)

참고 항목