2010-06-25 107 views
2

我打算使用pthread_join的手冊頁和它提到以下關於線程

「當一個可連接線程終止,它的內存資源(線程 描述符和堆棧)沒有釋放的內存資源的重新分配直到另一個線程執行 pthread_join爲止,因此pthread_join必須被調用一次,每個可連接線程創建 以避免內存泄漏。

這樣做的原因已被提及,以避免內存泄漏。但是,我不確定爲什麼首先需要在某個特定線程的資源終止時繼續使用這些資源。

賈雅拉傑

回答

1

該線程描述符是圍繞保持如此線程程序返回值可以通過的pthread_join(2)所述第二參數進行檢索。這與殭屍進程的想法是一樣的。

保留已終止線程的堆棧可能是API正式化時特定線程庫實現的要求。