名稱空間
變體
操作

ATOMIC_*_LOCK_FREE

來自 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 起)

擴充套件為預處理器常量表達式,計算結果為012,表示相應原子型別(包括有符號和無符號)的無鎖屬性。

解釋
0 原子型別從不無鎖
1 原子型別有時無鎖
2 原子型別總是無鎖

[編輯] 參考

  • C17 標準 (ISO/IEC 9899:2018)
  • 7.17.1/3 原子無鎖宏 (p: 200)
  • C11 標準 (ISO/IEC 9899:2011)
  • 7.17.1/3 原子無鎖宏 (p: 273)