Namespaces
Variants

std::atomic_ref<T>:: notify_one

From cppreference.net

Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
void notify_one ( ) const noexcept ;
(constexpr C++26以降)

アトミックな通知操作を実行します。

アトミック待機操作(すなわち wait() )でブロックされているスレッドが * ptr 上に存在する場合、そのようなスレッドの 少なくとも1つ をブロック解除する。それ以外の場合は何もしない。 このオーバーロードは、 std:: is_const_v < T > false の場合にのみオーバーロード解決に参加する。

目次

注記

この形式の変更検出は、単純なポーリングや純粋なスピンロックよりも効率的な場合が多いです。

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 3508
( P3323R1 )
C++20 notify_one const T に対して無意味であった 非constの T のみを受け入れるように制約

関連項目

通知されるまでスレッドをブロックし、アトミック値が変更されるのを待機
(公開メンバ関数)
通知されるまでスレッドをブロックし、アトミック値が変更されるのを待機
(関数テンプレート)
atomic_waitでブロックされているスレッドを通知
(関数テンプレート)