std::mutex 加锁抛 _DEVICE_OR_RESOURCE_BUSY 异常

来源:清泛原创     2020-08-26 13:11:05    人气:     我有话说( 0 人参与)

清泛网(www.tsingfun.com):最近遇到一个崩溃,在 std::lock_guard<std::mutex> lock(mutex_); 的地方,抛出了_DEVICE_OR_RESOURCE_BUSY 的异常。最终查出原因是:同一个线程对同一个mutex二次加锁导致的

最近遇到一个崩溃,在 std::lock_guard<std::mutex> lock(mutex_); 的地方,抛出了  _DEVICE_OR_RESOURCE_BUSY 的异常。最终查出原因是:同一个线程对同一个mutex二次加锁导致的。


Windows平台下同线程二次加锁会抛出异常,程序崩溃;Linux下则会发生死锁现象。
参考以下文章:
https://stackoverflow.com/questions/31205040/shouldnt-this-code-lead-to-a-deadlock

mutex deadlock

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)