Моя платформа vs2010 win2003 server, у меня хорошо работает приложение. Существует целое число, защищенное критическим разделом, когда я изменяю и использую вместо него boost :: detail :: spinlock, тогда он переходит в тупиковую блокировку.
Это boost::detail::spinlock
, Это означает, что он предназначен только для внутреннего использования. Если вы хотите портативную замену для критических секций, используйте boost::mutex
от Boost.Thread.
Это boost::detail::spinlock
, Спинлоки обычно заняты ожиданием, что делает их быстрее, но их можно использовать только в строго контролируемых условиях.
Boost 1.53 (последний выпуск) наконец-то получил Boost.Atomic, которая является переносимой (и совместимой с C ++ 11) заменой для взаимосвязанных операций.
Других решений пока нет …