C++ named requirements: TimedLockable (since C++11)
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Требования TimedLockable описывают характеристики типов, которые предоставляют синхронизированную эксклюзивную блокировку с таймаутом для исполнительных агентов (потоков, процессов, задач).
Содержание |
Требования
Для типа
L
быть
TimedLockable
, при условии
-
rel_time, значение специализации std::chrono::duration , и -
abs_time, значение специализации std::chrono::time_point ,
следующие условия должны быть удовлетворены для объекта
m
типа
L
:
| Выражение | Эффекты | Возвращаемое значение |
|---|---|---|
| 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)
|
предоставляет механизм разделяемого взаимного исключения с поддержкой блокировки с таймаутом
(класс) |