关于线程的内存资源的重新分配

时间:2010-06-25 18:29:14

标签: multithreading

我正在阅读pthread_join的手册页,并提到了以下内容

“当可连接线程终止时,其内存资源(线程        在另一个线程执行之前,不会释放描述符和堆栈        pthread_join就可以了。因此,必须为pthread_join调用一次        创建每个可连接线程以避免内存泄漏。“

提到这样做的原因是为了避免内存泄漏。但是,我不确定为什么首先需要在特定线程的资源终止时保留其资源。

贾雅拉杰

1 个答案:

答案 0 :(得分:1)

保留线程描述符,以便可以通过pthread_join(2)的第二个参数检索线程过程返回值。这与僵尸进程的想法相同。

保持终止线程的堆栈可能是API正式化时特定线程库实现的要求。