名前空間
変種
操作

ATOMIC_*_LOCK_FREE

From cppreference.com
< C‎ | atomic
ヘッダ<stdatomic.h>で定義
#define ATOMIC_BOOL_LOCK_FREE     /* 実装依存 */

#define ATOMIC_CHAR_LOCK_FREE     /* 実装依存 */
#define ATOMIC_CHAR16_T_LOCK_FREE /* 実装依存 */
#define ATOMIC_CHAR32_T_LOCK_FREE /* 実装依存 */
#define ATOMIC_WCHAR_T_LOCK_FREE  /* 実装依存 */
#define ATOMIC_SHORT_LOCK_FREE    /* 実装依存 */
#define ATOMIC_INT_LOCK_FREE      /* 実装依存 */
#define ATOMIC_LONG_LOCK_FREE     /* 実装依存 */
#define ATOMIC_LLONG_LOCK_FREE    /* 実装依存 */

#define ATOMIC_POINTER_LOCK_FREE  /* 実装依存 */
(C11 以降)
#define ATOMIC_CHAR8_T_LOCK_FREE  /* 実装依存 */
(C23以降)

対応するアトミック型(符号付きおよび符号なしの両方)のロックフリープロパティを示す、01、または2のいずれかに評価されるプリプロセッサ定数式に展開されます。

説明
0 アトミック型は決してロックフリーではない
1 アトミック型は時折ロックフリーである
2 アトミック型は常にロックフリーである

[編集] 参考文献

  • C17標準 (ISO/IEC 9899:2018)
  • 7.17.1/3 atomic lock-free macros (p: 200)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.17.1/3 atomic lock-free macros (p: 273)
English 日本語 中文(简体) 中文(繁體)