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

スレッドの取り消し

スレッドを取り消すには、pthread_cancel(3C) を使用します。

pthread_cancel の構文

int pthread_cancel(pthread_t thread);
#include <pthread.h>

pthread_t thread;
int ret;

ret = pthread_cancel(thread);

取り消し要求がどのように扱われるかは、対象となるスレッドの状態によって異なります。その状態を判定する関数として、pthread_setcancelstate(3C)pthread_setcanceltype(3C) があります。

pthread_cancel の戻り値

pthread_cancel() は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。以下の条件が検出されると、この関数は失敗し、次の値を返します。


ESRCH

説明:

指定されたスレッド ID に対応するスレッドが見つかりません。