我的平台是vs2010 win2003服务器,我的应用程序运行良好。有一个受关键部分保护的整数,当我修改并使用boost :: detail :: spinlock然后它进入死锁时。
答案 0 :(得分:2)
这是boost::detail::spinlock
。这意味着它仅供内部使用。如果您希望便携式替换关键部分,请使用boost::mutex
from Boost.Thread。
这是boost::detail::spinlock
。自旋锁通常忙于等待,这使它们更快,但只能在严格控制的情况下使用。
Boost 1.53(最新版本)终于得到Boost.Atomic,这是一个便携式(和C ++ 11兼容)替代互锁操作。