在使用pthread_mutex_t之前,应先调用pthread_mutex_init(),然后在不再需要使用pthread_mutex_destroy()时将其销毁。
我的问题是,如果我的进程在可以调用pthread_mutex_destroy()(例如SIGKILL,SIGINT或SIGABORT)之前终止,该怎么办?某些资源是否可能泄漏?
pthread_cond_init / destroy也有同样的问题。
答案 0 :(得分:3)
不在您可能使用的任何平台上。诸如互斥锁和条件变量之类的对象只是进程地址空间中的内存块。当进程终止时,其地址空间将不复存在。因此,任何资源都不可能泄漏。
进程共享的资源更加复杂。尽管资源不会泄漏,但它们可能仍然存在,甚至可能被其他进程使用。