Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 关于线程内存资源的释放_Multithreading - Fatal编程技术网

Multithreading 关于线程内存资源的释放

Multithreading 关于线程内存资源的释放,multithreading,Multithreading,我正在浏览pthread_join的手册页,其中提到了以下内容 当可接合线程终止时,其内存资源(线程 描述符和堆栈)在另一个线程执行之前不会解除分配 pthread_join。因此,必须为其调用一次pthread_join 为避免内存泄漏而创建的每个可接合线程。” 之所以这样做是为了避免内存泄漏。但是,我不知道为什么一个特定线程的资源在终止时仍然需要保留 Jayaraj线程描述符保持不变,因此可以通过pthread\u join(2)的第二个参数检索线程过程返回值。这与僵尸进程的想法相同 在AP

我正在浏览pthread_join的手册页,其中提到了以下内容

当可接合线程终止时,其内存资源(线程 描述符和堆栈)在另一个线程执行之前不会解除分配 pthread_join。因此,必须为其调用一次pthread_join 为避免内存泄漏而创建的每个可接合线程。”

之所以这样做是为了避免内存泄漏。但是,我不知道为什么一个特定线程的资源在终止时仍然需要保留


Jayaraj

线程描述符保持不变,因此可以通过
pthread\u join(2)
的第二个参数检索线程过程返回值。这与僵尸进程的想法相同

在API正式化时,保留终止线程的堆栈可能是特定线程库实现的一项要求