用boost :: detail :: spinlock替换临界区导致窗口死锁

时间:2013-02-05 07:31:44

标签: c++ windows boost mutex spinlock

我的平台是vs2010 win2003服务器,我的应用程序运行良好。有一个受关键部分保护的整数,当我修改并使用boost :: detail :: spinlock然后它进入死锁时。

1 个答案:

答案 0 :(得分:2)

  1. 这是boost::detail::spinlock。这意味着它仅供内部使用。如果您希望便携式替换关键部分,请使用boost::mutex from Boost.Thread

  2. 这是boost::detail::spinlock。自旋锁通常忙于等待,这使它们更快,但只能在严格控制的情况下使用。

  3. Boost 1.53(最新版本)终于得到Boost.Atomic,这是一个便携式(和C ++ 11兼容)替代互锁操作。