切り離されたスレッドが終了するときに NPTL がリソース (スタック領域など) をクリーンアップする方法を理解しようとしています。結合可能なスレッドは簡単です。特定のスレッドが終了するのを待ってから、そのリソースを再利用する pthread_join への呼び出しがあります。問題ありませんが、切り離されたスレッドが終了したことを NPTL はどのように知るのでしょうか? 誰かが知っているか、少なくとも誰が知っているか知っていますか?
ありがとう、リッチ
切り離されたスレッドが終了するときに NPTL がリソース (スタック領域など) をクリーンアップする方法を理解しようとしています。結合可能なスレッドは簡単です。特定のスレッドが終了するのを待ってから、そのリソースを再利用する pthread_join への呼び出しがあります。問題ありませんが、切り離されたスレッドが終了したことを NPTL はどのように知るのでしょうか? 誰かが知っているか、少なくとも誰が知っているか知っていますか?
ありがとう、リッチ
スレッド関数が戻った後、NPTL はスレッドが切り離されているかどうかをチェックします。切り離されている場合は、スレッドのすべてを直接解放します。結合されている場合は、スレッド制御ブロック (TCB) を pthread_join に残して TCB を解放します。
詳細については、http://raison.gegahost.net/?p=91が役立ちます。