Cpp-standard-library-cpp-atomic-compare-exchange
提供:Dev Guides
C ++アトミックライブラリ-Exchangeの比較
説明
アトミックオブジェクトの値を非アトミック引数とアトミックに比較し、等しい場合はアトミック交換を実行し、等しくない場合はアトミックロードを実行します。
宣言
- 以下は、std
- atomic_compare_exchange_weakの宣言です。
C 11
- 以下は、std
- atomic_compare_exchange_strongの宣言です。
C 11
- 以下は、std
- atomic_compare_exchange_weak_explicitの宣言です。
C 11
- 以下は、std
- atomic_compare_exchange_strong_explicitの宣言です。
C 11
パラメーター
- obj -変更するアトミックオブジェクトへのポインタで使用されます。
- desr -値をアトミックオブジェクトに格納するために使用されます。
- order -この操作のメモリ順序を同期するために使用されます。
- succ -比較が成功した場合、read-modify-write操作のメモリ同期順序で使用されます。 すべての値が許可されます。
- fail -比較が失敗した場合、ロード操作のメモリ同期順序で使用されます。 std :: memory_order_releaseまたはstd :: memory_order_acq_relにすることはできず、succより強い順序を指定することはできません。
戻り値
比較の結果を返します。* objが* expectedと等しい場合はtrue、そうでない場合はfalse。
例外
例
- 以下のstd
- atomic_compare_exchangeの例では。