pthread_mutex和进程终止

时间:2019-03-03 23:19:17

标签: c linux multithreading pthreads

在使用pthread_mutex_t之前,应先调用pthread_mutex_init(),然后在不再需要使用pthread_mutex_destroy()时将其销毁。

我的问题是,如果我的进程在可以调用pthread_mutex_destroy()(例如SIGKILL,SIGINT或SIGABORT)之前终止,该怎么办?某些资源是否可能泄漏?

pthread_cond_init / destroy也有同样的问题。

1 个答案:

答案 0 :(得分:3)

不在您可能使用的任何平台上。诸如互斥锁和条件变量之类的对象只是进程地址空间中的内存块。当进程终止时,其地址空间将不复存在。因此,任何资源都不可能泄漏。

进程共享的资源更加复杂。尽管资源不会泄漏,但它们可能仍然存在,甚至可能被其他进程使用。