pthread_attr_setscope(3T) は、結合スレッド (PTHREAD_SCOPE_SYSTEM) または非結合スレッド (PTHREAD_SCOPE_PROCESS) を生成します。
結合スレッドと非結合スレッドの両方とも、指定されたプロセス内でのみアクセスできます。
プロトタイプ: int pthread_attr_setscope(pthread_attr_t *tattr,int scope); #include <pthread.h> pthread_attr_t tattr; int ret; /* 結合スレッド */ ret = pthread_attr_setscope(&tattr, PTHREAD_SCOPE_SYSTEM); /* 非結合スレッド */ ret = pthread_attr_setscope(&tattr, PTHREAD_SCOPE_PROCESS); |
この例には、属性を初期化するもの、デフォルト属性を変更するもの、pthread を生成するものの 3 つの関数呼び出しがあります。
#include <pthread.h> pthread_attr_t attr; pthread_t tid; void start_routine; void arg; int ret; /* デフォルト属性による初期化 */ ret = pthread_attr_init (&tattr); /* 結合動作 */ ret = pthread_attr_setscope(&tattr, PTHREAD_SCOPE_SYSTEM); ret = pthread_create (&tid, &tattr, start_routine, arg); |
正常終了時は 0 です。それ以外の戻り値は、エラーが発生したことを示します。以下の条件が検出されると、この関数は失敗し、対応する値を返します。