Scroll to navigation

PTHREAD_ATTR_SETDETACHSTATE(3) Linux Programmer's Manual PTHREAD_ATTR_SETDETACHSTATE(3)

名前

pthread_attr_setdetachstate, pthread_attr_getdetachstate - スレッド属性オブジェクトの detach state 属性の設定/取得を行う

書式

#include <pthread.h>
int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
int pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate);

-pthread でコンパイルしてリンクする。

説明

pthread_attr_setdetachstate() 関数は、 attr が参照するスレッド属性オブジェクトの detach state 属性を detachstate で指定された値に設定する。 detach state 属性により、スレッド属性オブジェクト attr を使って 作成されるスレッドが、 join 可能な状態で作成されるか、 detached (切り離された) 状態で作成されるかが決定される。

detachstate には以下の値を指定できる。

attr を使って作成されるスレッドは detached 状態で作成される。
attr を使って作成されるスレッドは join 可能な状態で作成される。

新規に初期化されたスレッド属性オブジェクトの detach state 属性の デフォルト設定は PTHREAD_CREATE_JOINABLE である。

pthread_attr_getdetachstate() は、 スレッド属性オブジェクト attr の detach state 属性を detachstate が指すバッファーに入れて返す。

返り値

成功すると、これらの関数は 0 を返す。 エラーの場合、0 以外のエラー番号を返す。

エラー

pthread_attr_setdetachstate() は以下のエラーで失敗する場合がある。

無効な値が detachstate で指定された。

属性

マルチスレッディング (pthreads(7) 参照)

関数 pthread_attr_setdetachstate() と pthread_attr_getdetachstate() はスレッドセーフである。

準拠

POSIX.1-2001.

注意

detached 状態のスレッド、join 可能状態のスレッドの詳細については、 pthread_create(3) を参照。

join 可能状態で作成されたスレッドは、最終的に pthread_join(3) を使って join するか、 pthread_detach(3) を使って切り離すか、 のどちらかを行うべきである。

detached 状態で作成されたスレッドのスレッド ID を指定して、 pthread_detach(3)pthread_join(3) を後から呼び出すのは エラーである。

pthread_attr_init(3) を参照。

関連項目

pthread_attr_init(3), pthread_create(3), pthread_detach(3), pthread_join(3), pthreads(7)

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。

2014-05-28 Linux