非常教程

C参考手册

原子操作 | Atomic operations

ATOMIC_*_LOCK_FREE

在头文件<stdatomic.h>中定义

#define ATOMIC_CHAR32_T_LOCK_FREE / *实现定义* / #define ATOMIC_WCHAR_T_LOCK_FREE / *实现定义* / #define ATOMIC_CHAR32_T_LOCK_FREE / *实现定义* / #define ATOMIC_CHAR_LOCK_FREE / *实现定义* / #define ATOMIC_CHAR16_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以来)

展开为预处理常量表达式,其计算结果为或01或者2表示相应原子类型(包括signed和unsigned)的无锁属性。

说明

0

原子类型从不锁定

1

原子类型有时是无锁的

2

原子类型始终是无锁的

参考

  • C11标准(ISO / IEC 9899:2011):
    • 7.17.1 / 3原子无锁宏(p:273)
C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。