JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... ンパイルとリンクを行う。 説明 pthread_join () 関数は、 thread で指定されたスレッドが 終了するのを待つ。そのスレッドがすでに終了している場合、 pthread_join () はすぐに ... 返る。 thread で指定されたスレッドは join 可能でなければならない。 retval が NULL でない場合、 pthread_join () は対象スレッドの終了ステータス (すなわち、対象スレッド ... スレッドがキャンセルされた場合、 retval が指す場所には PTHREAD_CANCELED が格納される。 複数のスレッドが同時に同じスレッドを join しようとした場合、その結果 は不定である。 pthread_join () を呼び出しているスレッドがキャンセル された場合、対象スレッドは ... ... ] [ -j2 FIELD ] [ -o FIELD-LIST ] [ -t CHAR ] [ -v FILE-NUMBER ] [ --ignore-case ] FILE1 [ FILE2 ] join [ --help ] [ --version ] 説明 join は join フィールドが一致している入力行の各ペアを標準出力に表示する。 一方の FILE が与え ... と標準入力から読み込む。また FILE が ` - ' だった場合には、そのファイルには標準入力が用いられる。 FILE1 と FILE2 は実行前に join フィールドの昇順にソートしておかなければならない (数値順のソートはだめ)。 -t オプションが与えられなかった場合は、ファイルは ... join フィールドの 先頭にある空白を無視してソートしておかなければならない (`sort -b' のようなかたち)。 --ignore-case オプションを ... ... achstate で指定された値に設定する。 detach state 属性により、スレッド属性オブジェクト attr を使って 作成されるスレッドが、 join 可能な状態で作成されるか、 detached (切り離された) 状態で作成されるかが決定される。 detachstate には以下の値を指定できる。 ... PTHREAD_CREATE_DETACHED attr を使って作成されるスレッドは detached 状態で作成される。 PTHREAD_CREATE_JOINABLE attr を使って作成されるスレッドは join 可能な状態で作成される。 新規に初期化されたスレッド属性オブジェクトの detach st ... ate 属性の デフォルト設定は PTHREAD_CREATE_JOINABLE である。 pthread_attr_getdetachstate () は、 スレッド属性オブジェクト attr の detach state 属性を detachstate が指すバ ... ... achstate で指定された値に設定する。 detach state 属性により、スレッド属性オブジェクト attr を使って 作成されるスレッドが、 join 可能な状態で作成されるか、 detached (切り離された) 状態で作成されるかが決定される。 detachstate には以下の値を指定できる。 ... PTHREAD_CREATE_DETACHED attr を使って作成されるスレッドは detached 状態で作成される。 PTHREAD_CREATE_JOINABLE attr を使って作成されるスレッドは join 可能な状態で作成される。 新規に初期化されたスレッド属性オブジェクトの detach st ... ate 属性の デフォルト設定は PTHREAD_CREATE_JOINABLE である。 pthread_attr_getdetachstate () は、 スレッド属性オブジェクト attr の detach state 属性を detachstate が指すバ ... ... nclude < pthread.h > int pthread_tryjoin_np(pthread_t thread , void ** retval ); int pthread_timedjoin_np(pthread_t thread , void ** retval , const struct timespec ... * abstime ); -pthread を付けてコンパイルとリンクを行う。 説明 これらの関数は pthread_join (3) と同じように動作するが、 このページで説明する違いがある。 pthread_tryjoin_np () 関数は、スレッド thread の非停止 (nonb ... locking) での join を実行し、スレッドの終了ステータスを *retval に入れて返す。 thread がまだ終了していない場合は、 pthread_join (3) のように停 ... ... nclude < pthread.h > int pthread_tryjoin_np(pthread_t thread , void ** retval ); int pthread_timedjoin_np(pthread_t thread , void ** retval , const struct timespec ... * abstime ); -pthread を付けてコンパイルとリンクを行う。 説明 これらの関数は pthread_join (3) と同じように動作するが、 このページで説明する違いがある。 pthread_tryjoin_np () 関数は、スレッド thread の非停止 (nonb ... locking) での join を実行し、スレッドの終了ステータスを *retval に入れて返す。 thread がまだ終了していない場合は、 pthread_join (3) のように停 ... ... ドに detached (切り離された状態) という印を付ける。 detached 状態のスレッドが終了すると、 別のスレッドが終了されたスレッドを join しなくても、 そのスレッドのリソースは自動的に解放されてシステムに戻される。 すでに detach 状態のスレッドを detach しようと ... されていない。 返り値 成功すると、 pthread_detach () は 0 を返す。 エラーの場合、エラー番号を返す。 エラー EINVAL thread が join 可能なスレッドではない。 ESRCH ID が thread のスレッドが見つからなかった。 属性 この節で使用されている用語の説明については ... ead safety MT-Safe 準拠 POSIX.1-2001, POSIX.1-2008. 注意 いったんスレッドを detached 状態にすると、 そのスレッドを pthread_join (3) で join したり、 もう一度 join 可能にしたりすることはできない。 pthread_attr_setdetachstate (3) を使って pthread_creat ... ... * スレッドが pthread_exit (3) を呼び出す。 pthread_exit (3) を呼び出す際には終了ステータス値を指定する。 この値は pthread_join (3) を呼び出した同じプロセス内の 別のスレッドで参照できる。 * スレッドが start_routine () から返る。これは、 return 文に渡 ... () の呼び出し後に、 どのスレッドが---呼び出したスレッドか新しいスレッドか--- 次に実行されるかは決まっていない。 スレッドは join 可能 か detached (切り離された状態) のどちらかに することができる。スレッドが join 可能な場合、別のスレッドが pthread_join ... (3) を使って終了したスレッドを待ち、終了ステータスを取得 することができる。終了した join 可能なスレッドは join された場合にのみ、 そのスレッドの最後に残ったリソースが解放されシステムに戻される。 detached 状態のス ... ... 求が正常に キューに入れられたかどうかを呼び出し元に示すだけのものである。 キャンセルされたスレッドが終了された後に、 pthread_join (3) でそのスレッドを join すると、 そのスレッドの終了ステータスとして PTHREAD_CANCELED が得られる。 (スレッドの join はキャ ... f("main(): sending cancellation request\n"); s = pthread_cancel(thr); if (s != 0) handle_error_en(s, "pthread_cancel"); /* Join with thread to see what its exit status was */ s = pthread_join(thr, &res); if (s != 0) handle_error_en(s, "pthread_join") ... ldn't happen!)\n"); exit(EXIT_SUCCESS); } 関連項目 pthread_cleanup_push (3), pthread_create (3), pthread_exit (3), pthread_join (3), pthread_key_create (3), pthread_setcancelstate (3), pthread_setcanceltype (3), pthread_testcancel (3), pthreads (7) こ ... ... 説明 pthread_exit () 関数は、呼び出したスレッドを終了し、 retval 経由で値を返す。この値は (そのスレッドが join 可能な場合に) pthread_join (3) を呼び出した同じプロセス内の別のスレッドが参照できる値と同じである。 pthread_cleanup_push ( ... 送信 された場合に、端末がロックされてしまう、といった問題として表に見える 場合がある。 関連項目 pthread_create (3), pthread_join (3), pthreads (7) この文書について この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクト ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。