パスワードを忘れた? アカウント作成
451923 journal

Silphireの日記: pthread日記(13) - pthread_detach() 2

日記 by Silphire

int pthread_detach(pthread_t thread);

threadで指定したスレッドが終了した時、threadが使っていた資源を回収して再利用します。threadが終了していなくても、強制的にスレッドを終了させる事はありません。スレッドが終了した時に資源を再利用します。

同じスレッドに対してpthread_detach()を重複して呼び出した時の動作は未定義です。

pthread_detach()が成功した時には0を返します。エラーの時はエラーに応じた値を返します。

1/18 15:35修正
間違って理解していたので、全面的に書き直し。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by TakashiWaka (8033) on 2003年01月18日 14時24分 (#237937)
    pthread_detach()って、スレッドを『pthread_join()を使わないよ』宣言だと思ってるんですが。

    pthread_create()すると、pthread_join()するまで、スレッド特有の領域(スタックとか、戻り値とか)が残ります。
    (Linuxだと、ゾンビ状態になっているはず)
    で、pthread_join()で、スレッドの終了を待つ必要が無い場合は、
    pthread_detach()を使うと、スレッド終了と同時に領域を解放してくれる。

    こういうもんだと思っているんですけど。

    # だれか、もっと詳しい人いないかな?

typodupeerror

開いた括弧は必ず閉じる -- あるプログラマー

読み込み中...