C++ named requirements: TimedLockable (since C++11)
From cppreference.net
C++
C++ named requirements
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TimedLockable 요구사항은 실행 에이전트(스레드, 프로세스, 태스크)에 대해 시간 제한이 있는 배타적 차단 의미론을 제공하는 타입의 특성을 설명합니다.
목차 |
요구사항
타입
L
이
TimedLockable
이 되기 위해서는, 주어진 조건에서
-
rel_time, std::chrono::duration 의 특수화(specialization) 값, 그리고 -
abs_time, std::chrono::time_point 의 특수화(specialization) 값,
다음 조건들이 타입
L
의 객체
m
에 대해 충족되어야 합니다:
| Expression | Effects | Return value |
|---|---|---|
| m. try_lock_for ( rel_time ) |
주어진 지속 시간
rel_time
동안 또는
m
에 대한 락을 획득할 때까지 블록합니다.
|
true 락을 획득한 경우, false 그렇지 않은 경우. |
| m. try_lock_until ( abs_time ) |
주어진 시간 포인트
abs_time
에 도달하거나
m
에 대한 락을 획득할 때까지 블록합니다.
|
true 락을 획득한 경우, false 그렇지 않은 경우. |
참고 사항
try_lock_for
와
try_lock_until
멤버 함수는 성공 시
m
에 대한 비공유 잠금을 획득합니다.
표준 라이브러리
다음 표준 라이브러리 타입들은 TimedLockable 을 만족합니다:
|
(C++11)
|
타임아웃 기능이 있는 잠금을 구현하는 상호 배제 기능을 제공함
(클래스) |
|
(C++11)
|
동일 스레드에 의해 재귀적으로 잠글 수 있고 타임아웃 기능이 있는 잠금을 구현하는
상호 배제 기능을 제공함 (클래스) |
|
(C++14)
|
공유 상호 배제 기능을 제공하고 타임아웃 기능이 있는 잠금을 구현함
(클래스) |