Spec-Zone.ru › C++

C++ наимённые требования: SharedLockable (с C++14)

Требования SharedLockable описывают минимальные характеристики типов, которые обеспечивают совместные блокирующие семантики для агентов выполнения (т.е. потоков).

Требования

Для типа L быть SharedLockable, следующие условия должны быть выполнены для объекта m типа L;

Выражение Предпосылки Эффекты Возвращаемое значение
m.lock_shared() Блокирует, пока не будет получен блокировка для текущего агента выполнения (поток, процесс, задача). Если возникает исключение, блокировка не получается.
m.try_lock_shared() Попытка получить блокировку для текущего агента выполнения (поток, процесс, задача) без блокировки. Если возникает исключение, блокировка не получается. true если блокировка была получена, false в противном случае
m.unlock_shared() Текущий агент выполнения удерживает общую блокировку на m. Освобождает общую блокировку, удерживаемую агентом выполнения.

Не выбрасывает исключений.

Общие блокировки

Блокировка объекта называется общей блокировкой, если она приобретена вызовом функции-члена lock_shared, try_lock_shared, try_lock_shared_for, или try_lock_shared_until.

См. также

  • Библиотека поддержки потоков
  • SharedTimedLockable
  • SharedMutex

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

Spec-Zone.ru

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