首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么std::atomic_is_lock_free不是一个静态常量?

为什么std::atomic_is_lock_free不是一个静态常量?
EN

Stack Overflow用户
提问于 2014-09-15 17:48:25
回答 1查看 1.1K关注 0票数 15

我很困惑。在运行时,实现如何知道类型是否为原子类型?

EN

回答 1

Stack Overflow用户

发布于 2014-09-15 18:28:39

编译器可能不知道代码将在哪个CPU上运行,并且CPU的无锁能力可能有所不同。例如,CPU可能不支持对long类型的原子操作(因此可能需要一个锁),但是如果系统只有一个内核,它们可能会自动是原子的,因为它们不能被中断,并且没有其他可与之竞争的内核(因此不需要任何特殊的操作,并且类型是无锁的)。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25845182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档