Концепции C++: BasicLockable
Материал из cppreference.com
Концепция BasicLockable описывает минимальные характеристики типов, которые обеспечивают семантику эксклюзивных блокировок для выполняющихся агентов (т.е. потоков).
Требования
Для того, чтобы тип L являлся BasicLockable, для объекта m типа L должны выполняться следующие условия:
| Выражение | Требования | Эффекты |
|---|---|---|
m.lock()
|
Выполнение останавливается пока для текущего объекта не будет получена блокировка. Если выбрасывается исключение, то блокировка не устанавливается. | |
m.unlock()
|
Текущий агент должен владеть блокировкой m.
|
Освобождает блокировку, которой владеет агент. Исключения не выбрасываются. |