Won*_*ter 4 c++ std c++11 stdatomic
在我的MAC OS上,atomic<T*>是免费的.
#include <iostream>
#include <atomic>
int main() {
std::cout << std::atomic<void*>().is_lock_free() << std::endl;
return 0;
}
output: 1
Run Code Online (Sandbox Code Playgroud)
我想知道是否atomic<T*>总是免费锁定?
有参考介绍吗?
该标准允许使用锁实现任何原子类型(std :: atomic_flag除外).即使平台允许某些类型的无锁原子,标准库开发人员也可能没有实现.
如果在使用锁时需要以不同的方式实现某些内容,可以在编译时使用ATOMIC_POINTER_LOCK_FREE宏来检查.
| 归档时间: |
|
| 查看次数: |
463 次 |
| 最近记录: |