std::atomic_ref<T>:: notify_one
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
atomic_ref::notify_one
|
||||
|
(C++26)
|
||||
|
Operations for arithmetic types
(except
bool
and pointer-to-object)
|
||||
|
Operations for integral types
(except
bool
and pointer-to-object)
|
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
|
Operations for integral types
(except
bool
)
|
||||
| Constants | ||||
|
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
のみを受け入れるように制約
|
関連項目
|
通知されるまでスレッドをブロックし、アトミック値が変更されるのを待機
(公開メンバ関数) |
|
|
(C++20)
(C++20)
|
通知されるまでスレッドをブロックし、アトミック値が変更されるのを待機
(関数テンプレート) |
|
(C++20)
|
atomic_waitでブロックされているスレッドを通知
(関数テンプレート) |