std::atomic_flag_notify_all
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <atomic>
  | 
||
|   void atomic_flag_notify_all( std::atomic_flag* object ) noexcept;  | 
(1) | (since C++20) | 
|   void atomic_flag_notify_all( volatile std::atomic_flag* object ) noexcept;  | 
(2) | (since C++20) | 
Performs atomic notifying operations.
Unblocks all threads blocked in atomic waiting operations (i.e. std::atomic_flag_wait(), std::atomic_flag_wait_explicit(), or std::atomic_flag::wait()) on *object, if there are any; otherwise does nothing.
Equivalent to object->notify_all().
Parameters
| object | - |  pointer to the atomic_flag object to notify
 | 
Return value
(none)
Notes
This form of change-detection is often more efficient than simple polling or pure spinlocks.
Example
| This section is incomplete Reason: no example  | 
See also
|    (C++20)  | 
  notifies at least one thread waiting on the atomic object  (public member function of std::atomic_flag)  | 
|    (C++20)  | 
  notifies all threads blocked waiting on the atomic object  (public member function of std::atomic_flag)  | 
|    (C++20)(C++20)  | 
  blocks the thread until notified and the flag changes  (function)  | 
|    (C++20)  | 
  notifies a thread blocked in atomic_flag_wait  (function)  |