Spec-Zone.ru › C++

Именованные требования C++: Lockable (начиная с C++11)

Требования Lockable расширяют требования BasicLockable, добавляя попытку блокировки.

Требования

  • BasicLockable

Чтобы тип L удовлетворял требованиям Lockable, он должен соответствовать указанному выше условию, а также следующему:

Выражение Действия Возвращаемое значение
m.try_lock() Пытается захватить блокировку для текущего агента выполнения (потока, процесса, задачи) без блокировки. Если выбрасывается исключение, блокировка не захватывается. true, если блокировка была захвачена, иначе false

Примечания

Функции-члены try_lock при успешном выполнении получают неисключительную блокировку m.

Стандартная библиотека

Следующие типы стандартной библиотеки удовлетворяют требованиям Lockable:

mutex
(C++11)
предоставляет базовые средства взаимного исключения
(класс)
recursive_mutex
(C++11)
предоставляет средства взаимного исключения, которые один и тот же поток может блокировать рекурсивно
(класс)
recursive_timed_mutex
(C++11)
предоставляет средства взаимного исключения, которые один и тот же поток может блокировать рекурсивно
и реализует блокировку с ограничением по времени
(класс)
shared_mutex
(C++17)
предоставляет средства совместного взаимного исключения
(класс)
shared_timed_mutex
(C++14)
предоставляет средства совместного взаимного исключения и реализует блокировку с ограничением по времени
(класс)
timed_mutex
(C++11)
предоставляет средства взаимного исключения с блокировкой, ограниченной по времени
(класс)

См. также

  • Библиотека поддержки потоков
  • Mutex
  • BasicLockable
  • TimedLockable

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/named_req/Lockable

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API