Namespaces
Variants

C++ named requirements: Lockable (since C++11)

From cppreference.net
C++ named requirements

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

Содержание

Требования

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

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

Примечания

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

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

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

(C++11)
предоставляет базовое средство взаимного исключения
(class)
предоставляет средство взаимного исключения, которое может быть рекурсивно заблокировано тем же потоком
(class)
предоставляет средство взаимного исключения, которое может быть рекурсивно заблокировано
тем же потоком и реализует блокировку с таймаутом
(class)
предоставляет средство разделяемого взаимного исключения
(class)
предоставляет средство разделяемого взаимного исключения и реализует блокировку с таймаутом
(class)
предоставляет средство взаимного исключения, которое реализует блокировку с таймаутом
(class)

Смотрите также