boost::detail::atomic_count 线程安全吗?
我在多个线程中递增/递减 boost::detail::atomic_count。
想知道这种做法是否可以,或者我是否需要一个锁(然后我可以只使用常规 int 变量)?
谢谢。
I'm incrementing/decrementing boost::detail::atomic_count in multiple threads.
Wonder if this practice is ok or if I need a lock around it(then I could just use regular int variable)?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
原子变量的全部目的是无锁*和线程安全。
所以是的,它是绝对安全的;不,你不需要锁。
*也就是说,“锁定”是在硬件级别完成的。您是否在没有先了解某些东西的情况下就使用了它? :)
The entire purpose of an atomic variable is to be lock-free* and thread-safe.
So yes, it's perfectly safe; no, you don't need a lock.
*That is, the "lock" is done at hardware level. Are you using something without understanding it first? :)