マルチスレッドのプログラミング

スレッドの終了

pthread_exit(3T)

pthread_exit() は、スレッドを終了させます。

プロトタイプ:
void	 pthread_exit(void *status);
#include <pthread.h>

int status;

pthread_exit(&status); /* status を示して終了 */

pthread_exit() は呼び出しスレッドを終了させます。スレッド固有に割り当てられているデータもすべて解放されます。スレッドが切り離されていない場合は、そのスレッドに対する (ブロック化される) 終了待ちが行われるまで、そのスレッド識別子と status により示される終了状態は保持されます。(ブロック化される) スレッドが切り離されている場合は、status は無視され、そのスレッド識別子がただちに再利用できるようになります。スレッドの切り離しについては、「切り離し状態の設定」を参照してください。

戻り値

status の指定が NULL でなければ、呼び出しスレッドが終了すると、終了状態が status の内容に設定されます。