原子类型提供了一个成员函数is_lock_free,用于指示该原子类型是不是以无锁方式实现的:
- #include
- #include
- using namespace std;
-
- int main(){
- cout<<atomic_char().is_lock_free()<
- cout<<atomic_int().is_lock_free()<
- return 0;
- }
-
- 运行程序输出:
- 1
- 1
同时原子类型提供了一个编译器常量静态成员is_always_lock_free
static constexpr bool is_always_lock_free
用于指示,该原子类型是不是总是以无锁方式实现的。
- #include
- #include
- using namespace std;
-
- int main(){
- cout<
- cout<
- return 0;
- }
-
- 运行程序输出:
- 1
- 1
需要注意的是由于is_always_lock_free是编译期常量,所以只有当所有的平台上都是以无锁方式实现的原子操作时才会返回true。
-
相关阅读:
OkHttp搞定Http请求
LeetCode高频题42. 接雨水
mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
如何将 OBJ 模型转换和压缩为 GLTF 以与 AWS IoT TwinMaker 配合使用
mybatuis update批量更新
安卓 MediaRecorder 录音调用 mMediaRecorder.start(); 抛出 start failed. 异常
ERR_PNPM_INVALID_WORKSPACE_CONFIGURATION packages field missing or empty
spring三级缓存
C++ 函数模板
CSS学习笔记
-
原文地址:https://blog.csdn.net/jiemashizhen/article/details/134540272