我想知道在工作时间之后,什么是可能导致SIGABRT锁定获取时应用程序失败的一般问题?
它主要发生在std::lock_guard<std::mutex> lock(sync);
有时会发生在boost::mutex::scoped_lock lock(mutex);
区内的try catch(std::exception& e)
。
应用程序没有可检测到的内存泄漏。使用Boost,ZeroMQ,HiRedis。代码库很大,所以我想知道我们要讨厌的主要内容是什么?什么会导致这些问题(至少在理论上)?
答案 0 :(得分:2)
在损坏的互斥锁上锁定/解锁? (即使用已删除的对象)可能大部分时间
在同一个线程内双锁?
析构函数中的异常?
静态并行初始化?