スレッドを終了するには、pthread_exit(3C) を使用します。
void pthread_exit(void *status);
#include <pthread.h> void *status; pthread_exit(status); /* exit with status */
pthread_exit() は呼び出しスレッドを終了させます。スレッド固有に割り当てられているデータもすべて解放されます。スレッドが切り離されていない場合は、そのスレッド識別子と status によって示される終了状態が保持されます。これらのデータは、アプリケーションがそのスレッドを待機する pthread_join() を呼び出した時点で解放されます。スレッドが切り離されている場合は、status は無視されます。そのスレッド識別子はただちに再利用されます。スレッドの切り離しについては、「切り離し状態の設定」を参照してください。