本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > p

pthread_join(3T)

pthread ライブラリ
HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

pthread_join() ― 指定されたスレッドの終了の待ち合わせ

構文

#include <pthread.h> 
 
int pthread_join( 
   pthread_t thread, 
   void **value_ptr 
); 

パラメータ

thread  

呼び出し元で終了を待ち合わせるスレッド。

value_ptr  

thread の終了ステータスが返される領域へのポインター。

説明

pthread_join() 関数は、 thread の終了を待ち合わせます。 対象となる thread がすでに終了してしまっている場合、この関数はすぐに戻ります。 thread パラメータには、 detachstate 属性を PTHREAD_CREATE_JOINABLE にして作成されたスレッドだけが指定できます。 pthread_join() が正常終了すると、 value_ptr 引き数がヌルポインターでなければ、終了スレッドが pthread_exit() に渡した値が value_ptr 引き数で示される領域に設定されます。

pthread_join() 呼び出しが正常終了した時点では、対象スレッドは必ず終了しています。 同じスレッドに対して複数のスレッドが pthread_join() を呼び出した場合、その中の 1 つのスレッドに対してだけ正常終了することが保証されます。 同じスレッドを指定して pthread_join() を呼び出したその他の呼び出し元の動作は、規定されません。

pthread_join() を呼び出したスレッドが取り消されると、対象スレッドは結合されません。 thread の終了ステータスは、 pthread_join() を呼び出す別のスレッドで使用できるよう維持されます。

thread が取り消された場合、その終了ステータスは PTHREAD_CANCELED になります。

スレッドの実行は終了しているが、まだ結合していない場合、 {_POSIX_THREAD_THREADS_MAX} と比較する値に含まれるかどうかは規定されません。

戻り値

正常終了すると pthread_join() はゼロを返します。 それ以外の場合、エラーの内容を表すエラー番号を返します (errno 変数は使用しません)。

エラー

次の場合、 pthread_join() 関数は、対応するエラー番号を返します。

[EINVAL] 

thread で指定された値が、結合可能なスレッドを示していない場合。

[ESRCH] 

thread に対応するスレッドが見つからない場合。

次の条件が成立する場合、 pthread_join() 関数は、対応するエラー番号を返します。

[EDEADLK]  

この操作を行うとプロセスがデッドロックする場合、または thread に呼び出し元自身が指定されている場合。

著者

pthread_join() は、IEEE POSIX P1003.1c 標準から派生しました。

標準準拠

pthread_join(): POSIX 1003.1c.

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.