0
我想知道NPTL如何在退出時清理分離線程的資源(堆棧空間等)。可連接的線程很簡單,有一個pthread_join 的調用,它等待特定的線程退出並回收其資源。沒問題,但是 NPTL如何知道分離的線程已經退出?有誰知道或至少知道誰會知道?分離線程的線程庫清理
感謝, 豐富
我想知道NPTL如何在退出時清理分離線程的資源(堆棧空間等)。可連接的線程很簡單,有一個pthread_join 的調用,它等待特定的線程退出並回收其資源。沒問題,但是 NPTL如何知道分離的線程已經退出?有誰知道或至少知道誰會知道?分離線程的線程庫清理
感謝, 豐富
線程函數返回後,NPTL將檢查線程是否被分離,如果分離,它會直接釋放線程的一切,如果加入,就會留下線索控制塊(TCB)到pthread_join以釋放TCB。
瞭解詳情,http://raison.gegahost.net/?p=91可能會有幫助。
啊,這就是我一直在尋找的。因此,pthread_create被傳遞給executor函數,並且這個函數被一個輔助函數包裝,並且輔助函數被傳遞給克隆系統調用。輔助函數負責清理分離的線程。非常感謝。 – 2013-03-07 17:43:52