atomic_flag_test_and_set, atomic_flag_test_and_set_explicit
From cppreference.net
|
ヘッダーで定義
<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および volatile (例:メモリマップトI/O)アトミックフラグの両方のアドレスを受け入れるための、volatileアトミックフラグへのポインタです。
目次 |
パラメータ
| obj | - | 変更対象のアトミックフラグオブジェクトへのポインタ |
| order | - | この操作に対するメモリ同期順序:すべての値が許可されます |
戻り値
obj
が指すアトミックフラグが以前保持していた値。
参考文献
- C17規格 (ISO/IEC 9899:2018):
-
- 7.17.8.1 atomic_flag_test_and_set関数 (p: 209)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.17.8.1 atomic_flag_test_and_set関数 (p: 285-286)
関連項目
|
アトミックフラグをfalseに設定
(関数) |
|
|
C++ documentation
for
atomic_flag_test_and_set
,
atomic_flag_test_and_set_explicit
|
|