atomic_flag_test_and_set, atomic_flag_test_and_set_explicit
From cppreference.com
| ヘッダ <stdatomic.h>で定義 |
||
| _Bool atomic_flag_test_and_set( volatile atomic_flag* obj ); |
(1) | (C11 以降) |
| _Bool atomic_flag_test_and_set_explicit( volatile atomic_flag* obj, memory_order order ); |
(2) | (C11 以降) |
obj が指す atomic_flag の状態をセット(true)に変更し、以前の値を返します。最初のバージョンはメモリ操作を memory_order_seq_cst に従って順序付けし、2番目のバージョンは order に従って順序付けします。
引数は、volatile(例:メモリマップドI/O)の `atomic_flag` のアドレスも受け付けるために、volatile なアトミックフラグへのポインタです。
目次 |
[編集] パラメータ
| obj | - | 変更するアトミックフラグオブジェクトへのポインタ |
| order | - | この操作のメモリ同期順序:すべての値が許可されます |
[編集] 戻り値
obj が指すアトミックフラグが以前保持していた値。
[編集] 参考文献
- C17標準 (ISO/IEC 9899:2018)
- 7.17.8.1 The atomic_flag_test_and_set functions (p: 209)
- C11標準 (ISO/IEC 9899:2011)
- 7.17.8.1 The atomic_flag_test_and_set functions (p: 285-286)
[編集] 関連項目
| atomic_flagをfalseに設定する (関数) | |
| C++ ドキュメント (
atomic_flag_test_and_set, atomic_flag_test_and_set_explicit について) | |