std::atomic_ref<T>::is_lock_free

< cpp‎ | atomic‎ | atomic ref
 
 
 
 
bool is_lock_free() const noexcept;
(C++20 起)

检查此对象上的原子操作是否免锁。

参数

(无)

返回值

若此对象上的原子操作为免锁则为 true ,否则为 false

注解

std::atomic_flag 以外的所有原子类型可能会被用互斥或其他锁定操作实现,而不一定用免锁的原子 CPU 指令。亦允许原子类型有时免锁,例如若给定架构上仅对齐的内存访问是原生原子的,则同类型的错误对齐对象必须用锁。

C++ 标准推荐(但不要求)免锁操作亦为免地址,即适用于使用共享内存的进程间交流。

示例

参阅

指示该类型为始终免锁
(公开静态成员常量)