std::mutex 加锁抛 _DEVICE_OR_RESOURCE_BUSY 异常
清泛原创
最近遇到一个崩溃,在 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
上一篇:c++11 智能指针回调的经典场景
下一篇:C++中静态变量初始化顺序