POSIXスレッド (pthread) とは

POSIXスレッド (pthread) は、POSIX (Portable Operating System Interface) によって定められたスレッド・インタフェースです。

UNIXにおいてマルチスレッドを扱う場合、各UNIX固有の方法より、POSIXスレッドの方が移植性が高くなります。

POSIXスレッド (pthread) プログラミング

スレッドの終了

スレッドの終了には、下記の方法があります。

pthread関数リファレンス

pthread_create

現在のプロセスに新しい制御スレッドを追加します。

構文
int pthread_create(pthread_t * tid , const pthread_attr_t * attr , void *(* start_routine )(void *), void * arg );
引数
pthread_create関数の引数
引数 入出力 説明
tid pthread_t * 出力 生成されたスレッドの識別子を格納する領域へのポインタ
attr pthread_attr_t * 入力 スレッドの属性
start_routine void * 入力 新しいスレッドを実行する関数へのポインタ

引数 attr にはスレッドの属性を指定します。属性を初期化するには、 pthread_attr_init 関数を使用します。NULLを指定すると、デフォルトの属性が適用されます。

戻り値

正常終了時は0です。それ以外の戻り値は、エラーが発生したことを示します。

pthread_join

スレッドの終了を待ちます。切り離していないスレッドのみ有効です。

構文
int pthread_join(pthread_t tid , void ** status );
引数
pthread_join関数の引数
引数 入出力 説明
tid pthread_t 入力 スレッドの識別子
status void ** 出力 スレッドの終了状態を格納する領域へのポインタ。終了状態を取得する必要が無いときは、NULLを指定します。
戻り値

正常終了時は0です。それ以外の戻り値は、エラーが発生したことを示します。

pthread_detach

スレッドを切り離します。

構文
int pthread_detach(pthread_t tid );
引数
pthread_detach関数の引数
引数 入出力 説明
tid pthread_t 入力 スレッドの識別子
戻り値

正常終了時は0です。それ以外の戻り値は、エラーが発生したことを示します。

pthread_exit

スレッドを終了させます。

構文
void pthread_exit(void * status );
引数
pthread_exit関数の引数
引数 入出力 説明
status void * 入力 スレッドの終了状態を格納した領域へのポインタ。終了状態を戻す必要が無いときはNULLを指定します。

pthread_cancel

スレッドを取り消します。

構文
int pthread_cancel(pthread_t tid );
引数
pthread_cancel関数の引数
引数 入出力 説明
tid pthread_t 入力 スレッドの識別子
戻り値

正常終了時は0です。それ以外の戻り値は、エラーが発生したことを示します。

スポンサーリンク