名稱空間
變體
操作

原子操作庫

來自 cppreference.com
< c

如果編譯器定義了宏常量 __STDC_NO_ATOMICS__(C11),則不提供標頭檔案 <stdatomic.h>、關鍵字 _Atomic,以及此處列出的所有名稱。

目錄

[編輯] 型別

在標頭檔案 <stdatomic.h> 中定義
定義記憶體排序約束
(列舉) [編輯]
無鎖原子布林標誌
(結構體)[編輯]

[編輯]

在標頭檔案 <stdatomic.h> 中定義
指示給定的原子型別是否是無鎖的
(宏常量) [編輯]
初始化新的 atomic_flag
(宏常量) [編輯]
(C11)(C17 中已棄用)(C23 中已移除)
初始化新的原子物件
(函式宏) [編輯]
memory_order_consume 打斷依賴鏈
(函式宏) [編輯]

[編輯] 函式

在標頭檔案 <stdatomic.h> 中定義
將 atomic_flag 設定為 true 並返回舊值
(函式) [編輯]
將 atomic_flag 設定為 false
(函式) [編輯]
初始化現有原子物件
(函式) [編輯]
指示原子物件是否是無鎖的
(函式) [編輯]
在原子物件中儲存值
(函式) [編輯]
從原子物件中讀取值
(函式) [編輯]
與原子物件的值交換
(函式) [編輯]
如果舊值是期望的,則與原子物件交換值,否則讀取舊值
(函式) [編輯]
原子加法
(函式) [編輯]
原子減法
(函式) [編輯]
原子位或
(函式) [編輯]
原子位異或
(函式) [編輯]
原子位與
(函式) [編輯]
通用記憶體排序依賴的屏障同步原語
(函式) [編輯]
執行緒與在同一執行緒中執行的訊號處理程式之間的屏障
(函式) [編輯]

[編輯] 型別

標準庫為 核心語言原子型別 提供了便捷的 typedef。

型別定義名稱 完整型別名稱
atomic_bool _Atomic _Bool
atomic_char _Atomic char
atomic_schar _Atomic signed char
atomic_uchar _Atomic unsigned char
atomic_short _Atomic short
atomic_ushort _Atomic unsigned short
atomic_int _Atomic int
atomic_uint _Atomic unsigned int
atomic_long _Atomic long
atomic_ulong _Atomic unsigned long
atomic_llong _Atomic long long
atomic_ullong _Atomic unsigned long long
atomic_char8_t (C23) _Atomic char8_t
atomic_char16_t _Atomic char16_t
atomic_char32_t _Atomic char32_t
atomic_wchar_t _Atomic wchar_t
atomic_int_least8_t _Atomic int_least8_t
atomic_uint_least8_t _Atomic uint_least8_t
atomic_int_least16_t _Atomic int_least16_t
atomic_uint_least16_t _Atomic uint_least16_t
atomic_int_least32_t _Atomic int_least32_t
atomic_uint_least32_t _Atomic uint_least32_t
atomic_int_least64_t _Atomic int_least64_t
atomic_uint_least64_t _Atomic uint_least64_t
atomic_int_fast8_t _Atomic int_fast8_t
atomic_uint_fast8_t _Atomic uint_fast8_t
atomic_int_fast16_t _Atomic int_fast16_t
atomic_uint_fast16_t _Atomic uint_fast16_t
atomic_int_fast32_t _Atomic int_fast32_t
atomic_uint_fast32_t _Atomic uint_fast32_t
atomic_int_fast64_t _Atomic int_fast64_t
atomic_uint_fast64_t _Atomic uint_fast64_t
atomic_intptr_t _Atomic intptr_t
atomic_uintptr_t _Atomic uintptr_t
atomic_size_t _Atomic size_t
atomic_ptrdiff_t _Atomic ptrdiff_t
atomic_intmax_t _Atomic intmax_t
atomic_uintmax_t _Atomic uintmax_t

[編輯] 參考

  • C23 標準 (ISO/IEC 9899:2024)
  • 7.17 原子操作 <stdatomic.h> (p: TBD)
  • 7.31.8 原子操作 <stdatomic.h> (p: 待定)
  • C17 標準 (ISO/IEC 9899:2018)
  • 7.17 原子操作 <stdatomic.h> (p: TBD)
  • 7.31.8 原子操作 <stdatomic.h> (p: 待定)
  • C11 標準 (ISO/IEC 9899:2011)
  • 7.17 原子操作 <stdatomic.h> (p: 273-286)
  • 7.31.8 原子操作 <stdatomic.h> (p: 455-456)

[編輯] 另請參閱

C++ 文件 for 原子操作庫