c – 为什么不std :: atomic_is_lock_free一个静态constexpr?
发布时间:2020-12-16 05:39:06 所属栏目:百科 来源:网络整理
导读:我很困惑.如果类型只是在运行时是原子的,那么实现可能会如何知道? 解决方法 编译器可能不知道代码将运行什么CPU,并且CPU在其无锁功能方面可能会有所不同.例如,CPU可能不支持对长类型的原子操作(因此可能需要锁定),但是如果系统只有单个内核,则它们可能是原
我很困惑.如果类型只是在运行时是原子的,那么实现可能会如何知道?
解决方法
编译器可能不知道代码将运行什么CPU,并且CPU在其无锁功能方面可能会有所不同.例如,CPU可能不支持对长类型的原子操作(因此可能需要锁定),但是如果系统只有单个内核,则它们可能是原子自动的,因为它们不能被中断,并且没有其他核心与之竞争(所以没有什么特别需要,类型是锁定的).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |