原子类型提供了一个成员函数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。
-
相关阅读:
H.264 帧内预测
Golang sync.WaitGroup
3D模型格式转换工具HOOPS Exchange:如何将3D PDF转换为STEP格式?
如何用 Electron 打包chatgpt-plus.top并生成mac客户端
使用Jmeter进行压力测试
c++ 智能指针 (std::weak_ptr)(一)
【Git技巧】第三篇 删除冗余的本地或远程的操作分支
正点原子FreeRTOS(中)
基于Spring MVC + Spring + MyBatis的【超市会员管理系统】
java高手进阶之:消息模板
-
原文地址:https://blog.csdn.net/jiemashizhen/article/details/134540272
-
最新文章
-
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU