将关键部分替换为boost::detail::spinlock导致窗口死锁

Replace critical section with boost::detail::spinlock cause dead lock on windows

本文关键字:spinlock detail 死锁 窗口 boost 键部 替换      更新时间:2023-10-16

我的平台是vs2010win2003服务器,我有一个运行良好的应用程序。有一个由关键部分保护的整数,当我修改并使用boost::detail::spinlock时,它就会变成死锁。

  1. 它是boost::detail::spinlock。这意味着它仅供内部使用。如果您想要对关键部分进行便携式替换,请使用Boost.Thread.中的boost::mutex

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

  3. Boost1.53(最新版本)最终获得了Boost.Atomic,它是一个可移植的(与C++11兼容)互锁操作的替代品。