c++ - 如何处理析构函数中销毁互斥体失败的情况

标签 c++ pthreads mutex

假设您在互斥体类中有以下析构函数来包装 pthread 互斥体调用:

~mutex()
{
    pthread_mutex_destroy(&m_mutex);
}

如果失败(返回非零),我们显然不能抛出异常。我们如何最好地处理这个问题?

最佳答案

写入错误消息并调用 abort()。当不可能的事情似乎已经发生时,艰难的、明显的失败往往比继续愉快地继续要好。

关于c++ - 如何处理析构函数中销毁互斥体失败的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6281176/

相关文章:

C++模板模板参数

c++ - Boost.Graph 对 void 的引用

c++ - 是否在退出时清理

c - while (pthread_mutex_trylock(mutex)) 有什么意义

multithreading - 在 pthread、Intel TBB、openmp 上哪个库更通用、更灵活?

linux-kernel - 调度程序如何看到Linux上的pthreads

c++ - 如何使用单个 fstream 创建、读取和写入文件

linux - 如何为 pthreads 中的锁定互斥锁获取拥有线程的线程 ID

c - 如何从多个线程同步文件上的写入

c++ - 槽中的 QMutex