atomic_load, atomic_load_explicit
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <stdatomic.h> で定義
|
||
C atomic_load( const volatile A* obj ); |
(1) | (C11以上) |
C atomic_load_explicit( const volatile A* obj, memory_order order ); |
(2) | (C11以上) |
obj の指すアトミック変数の現在の値をアトミックにロードし、返します。 この操作はアトミック読み込み操作です。
1つめのバージョンは memory_order_seq_cst に従ってメモリを順序付けし、 2つめのバージョンは order に従ってメモリを順序付けします。 order は memory_order_relaxed、 memory_order_consume、 memory_order_acquire または memory_order_seq_cst のいずれかでなければなりません。 そうでなければ動作は未定義です。
これはすべてのアトミックオブジェクト型 A に対して定義される総称関数です。 引数は非 volatile と volatile (メモリマップド I/O など) 両方のアトミック変数のアドレスを受理するための volatile アトミック型へのポインタです。
C は A に対応する非アトミック型です。
引数
| obj | - | アクセスするアトミックオブジェクトを指すポインタ |
| order | - | この操作に対するメモリ同期順序付け |
戻り値
obj の指すアトミック変数の現在の値。
参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.17.7.2 The atomic_load generic functions (p: 282)
関連項目
| アトミックオブジェクトに値を書き込みます (関数) | |
atomic_load, atomic_load_explicit の C++リファレンス
| |