Namespaces
Variants

std::atomic_ref<T>:: is_lock_free

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
bool is_lock_free ( ) const noexcept ;
(C++20 起)

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

目录

参数

(无)

返回值

true 表示该对象的原子操作是无锁的, false 则表示相反情况。

注释

std::atomic_flag 外的所有原子类型,均可通过互斥锁或其他锁定操作实现,而非必须使用无锁的原子CPU指令。原子类型也允许 有时 具备无锁特性,例如在特定架构中若仅对齐内存访问本身是原子的,则同类型的未对齐对象必须使用锁机制。

C++标准建议(但不强制要求)无锁原子操作同时也是地址无关的,即适用于使用共享内存的进程间通信。

示例

参见

指示该类型始终是无锁的
(公开静态成员常量)