C pthread_互斥和进程终止

C pthread_互斥和进程终止,c,linux,multithreading,pthreads,C,Linux,Multithreading,Pthreads,在使用pthread_mutex_t pthread_mutex_init()之前,应调用该函数;在不再需要该函数之后,应使用pthread_mutex_destroy()销毁该函数 我的问题是,如果进程在调用pthread_mutex_destroy()之前终止,例如SIGKILL、SIGINT或SIGABORT,会发生什么情况?有没有可能会有一些资源泄漏 同样的问题也会出现在pthread\u cond\u init/destroy上。在您可能使用的任何平台上都不会出现。互斥体和条件变量等对

在使用pthread_mutex_t pthread_mutex_init()之前,应调用该函数;在不再需要该函数之后,应使用pthread_mutex_destroy()销毁该函数

我的问题是,如果进程在调用pthread_mutex_destroy()之前终止,例如SIGKILL、SIGINT或SIGABORT,会发生什么情况?有没有可能会有一些资源泄漏


同样的问题也会出现在pthread\u cond\u init/destroy上。

在您可能使用的任何平台上都不会出现。互斥体和条件变量等对象只是进程地址空间中的内存块。当进程终止时,它的地址空间就不存在了。因此,任何资源都不可能泄漏


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

为什么您认为可能存在资源问题?互斥体只是用户空间中的一种数据结构。当进程终止时,所有内存都会返回给操作系统。是进程还是线程?因为当进程终止时,所有线程都将完成,资源将被释放。@AlainMerigot,这是我一直在寻找的答案,只是想确定一下。@HoracioGoetendabonilla,这就是进程。