std::shared_timed_mutex:: lock_shared
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Exclusive locking | ||||
| Shared locking | ||||
|
shared_timed_mutex::lock_shared
|
||||
|
void
lock_shared
(
)
;
|
(начиная с C++14) | |
Получает общее владение мьютексом. Если другой поток удерживает мьютекс в эксклюзивном владении, вызов
lock_shared
заблокирует выполнение до тех пор, пока не будет получено общее владение.
Если
lock_shared
вызывается потоком, который уже владеет
mutex
в любом режиме (эксклюзивном или разделяемом), поведение не определено.
Если количество владельцев в режиме разделения, уже заблокировавших мьютекс, превышает определенный реализацией максимум,
lock_shared
блокирует выполнение до тех пор, пока количество владельцев в режиме разделения не уменьшится. Гарантируется, что максимальное количество владельцев составляет не менее 10000.
Предыдущая операция unlock() на том же мьютексе синхронизируется-с (как определено в std::memory_order ) этой операцией.
Содержание |
Параметры
(нет)
Возвращаемое значение
(нет)
Исключения
Выбрасывает
std::system_error
при возникновении ошибок, включая ошибки базовой операционной системы, которые могут помешать
lock
выполнить свои спецификации. Мьютекс не блокируется в случае выбрасывания любого исключения.
Примечания
lock_shared()
обычно не вызывается напрямую:
std::shared_lock
используется для управления разделяемой блокировкой.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
блокирует мьютекс, ожидает если мьютекс недоступен
(public member function) |
|
|
пытается заблокировать мьютекс для разделяемого владения, возвращает управление если мьютекс недоступен
(public member function) |
|
|
разблокирует мьютекс (разделяемое владение)
(public member function) |