std::atomic_flag_notify_all
Определён в заголовочном файле <atomic> | ||
|---|---|---|
void atomic_flag_notify_all( std::atomic_flag* object ) noexcept; | (1) | (начиная с C++20) |
void atomic_flag_notify_all( volatile std::atomic_flag* object ) noexcept; | (2) | (начиная с C++20) |
Выполняет атомарные операции уведомления.
Разблокирует все потоки, заблокированные в операциях атомарного ожидания (т. е. std::atomic_flag_wait(), std::atomic_flag_wait_explicit() или std::atomic_flag::wait()) для *object, если такие есть; в противном случае ничего не делает.
Эквивалентно object->notify_all().
Параметры
| object | - | указатель на объект atomic_flag, которому отправляется уведомление |
Возвращаемое значение
(нет)
Примечания
Такой способ обнаружения изменений зачастую эффективнее простого опроса или чистых спинлоков.
Пример
См. также
|
(C++20) | уведомляет как минимум один поток, ожидающий атомарный объект (открытая функция-член std::atomic_flag) |
|
(C++20) | уведомляет все потоки, заблокированные в ожидании атомарного объекта (открытая функция-член std::atomic_flag) |
|
(C++20)(C++20) | блокирует поток до получения уведомления и изменения флага (функция) |
|
(C++20) | уведомляет поток, заблокированный в atomic_flag_wait (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/atomic/atomic_flag_notify_all