vs2012 condition_variable notify_one 崩溃

Posted 王纲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2012 condition_variable notify_one 崩溃相关的知识,希望对你有一定的参考价值。

  vs2012项目中用到 condition_variable系统方法,程序运行过程过程中偶尔出现notify_one崩溃,

程序运行的服务器系统版本是windows server 2008 R2 SP1,相同的程序在window server 2008,

2012多次部署过并没有出现notify崩溃的问题。搜索了下错误在微软官方网站得到答复,结果是vs2012

的bug,vs2013版本已经修复了这个bug,抱着试试看的心态,重新将程序编译到vs2015版本,该问题

不复存在。官方答复如下:

  

由 Microsoft 在 2014/4/29 於 12:32 公佈
Thank you for reporting this issue. This issue has been fixed in Visual Studio 2013. You can install a trial version of Visual Studio 2013 with the fix from: http://go.microsoft.com/?linkid=9832436
由 Microsoft 在 2012/12/17 於 17:26 公佈
Hi,

Thanks for reporting this bug. We‘ve fixed it (the problem was in the Concurrency Runtime which powers our implementation of std::condition_variable), and the fix will be available in the next release of our C++ Standard Library implementation.

Note: Connect doesn‘t notify me about comments. If you have any further questions, please E-mail me.

Stephan T. Lavavej
Senior Developer - Visual C++ Libraries

 

以上是关于vs2012 condition_variable notify_one 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

std::condition_variable 条件变量类型

使用 condition_variable::notify_all 通知多个线程

boost::condition_variable::notify_one() 的行为

为啥我必须为 boost::condition_variable 设置一个 boost::mutex?

尝试使用 condition_variables 在线程之间切换

如何正确使用 std::condition_variable?