Именованные требования C++: SharedTimedLockable (начиная с C++14)
Требования SharedTimedLockable описывают характеристики типов, предоставляющих семантику блокировки с тайм-аутом для совместного доступа исполнителей (потоков, процессов, задач).
Требования
Чтобы тип L соответствовал требованиям SharedTimedLockable, при заданных
-
rel_time— значении специализацииstd::chrono::duration, и -
abs_time— значении специализацииstd::chrono::time_point,
для объекта m типа L должны выполняться следующие условия:
| Выражение | Требования | Возвращаемое значение |
|---|---|---|
m.try_lock_shared_for(rel_time) | Блокирует выполнение на заданный промежуток времени rel_time или до получения блокировки на m. |
true, если блокировка получена, и false в противном случае. |
m.try_lock_shared_until(abs_time) | Блокирует выполнение до наступления заданного момента времени abs_time или до получения блокировки на m. |
true, если блокировка получена, и false в противном случае. |
Примечания
Функции-члены try_lock_shared_for и try_lock_shared_until при успешном выполнении получают совместную блокировку на m.
Стандартная библиотека
Следующие типы стандартной библиотеки соответствуют требованиям SharedTimedLockable:
|
(C++14) | предоставляет механизм совместного взаимоисключения и реализует блокировку с тайм-аутом (класс) |
См. также
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/named_req/SharedTimedLockable