【发布时间】:2013-01-20 01:39:35
【问题描述】:
我的平台是 vs2010 win2003 服务器,我有一个运行良好的应用程序。有一个整数受临界区保护,当我修改并使用 boost::detail::spinlock 时,它会进入死锁。
【问题讨论】:
-
Soooo 你是怎么解决这个问题的?
-
为什么在运行良好的情况下需要进行更改?顺便说一句,这是唯一的改变吗?
-
@DenisErmolin 我用Interlockedxx api暂时解决了,但还是没有找到真正的原因。
-
@Jagannath 因为临界区保护的只是一个整数,所以我想使用自旋锁来提高性能。我确定这是唯一的更改,因为我使用互斥锁或互锁死锁消失了。
-
@magicyang:不,你想使用 ATOMIC。好消息是最新的提升有它们。
标签: c++ windows boost mutex spinlock