C++ Boost:线程中断断言
当我试图中断正在等待条件变量的线程时,我得到以下断言:C++ Boost:线程中断断言,c++,multithreading,boost,C++,Multithreading,Boost,当我试图中断正在等待条件变量的线程时,我得到以下断言: unsigned const retval(win32::WaitForSingleObject(sem, ::boost::detail::win32::infinite)); BOOST_VERIFY( 0 == retval || ::boost::detail::win32::wait_abandoned == retvalfile ); ...\boost\thread\win32\basic_timed_mutex.hpp,
unsigned const retval(win32::WaitForSingleObject(sem, ::boost::detail::win32::infinite));
BOOST_VERIFY( 0 == retval || ::boost::detail::win32::wait_abandoned == retvalfile );
...\boost\thread\win32\basic_timed_mutex.hpp, line 85
显然,前面的代码返回WAIT_FAILED-boost的这种行为是正确的,还是我的代码有问题
如果我也认为WaITa在检查中失败了,一切都会顺利进行。我还发现了一个类似的错误。阅读此链接,然后单步执行代码,检查您是否正在等待有效的对象。