pthread_attr_getweight_np() - スレッド属性オブジェクトの重みの取得

標準

標準/拡張機能 C/C++ 依存項目
z/OS®UNIX 両方

POSIX(ON)

形式

#define _OPEN_THREADS
#define _OPEN_SYS
#include <pthread.h>

int pthread_attr_getweight_np(pthread_attr_t *attr);

機能説明

スレッド属性オブジェクトのスレッド設定値の現行の重み、attr を取得します。重みのシンボルは、pthread.h 組み込みファイルで定義されています。次の重みがサポートされます。
__MEDIUM_WEIGHT
実行タスクは、スレッドの終了時に再利用できます。
__HEAVY_WEIGHT
これが終了すると、関連した MVS™ タスクはスレッドに処理を 要求できません。

スレッド属性オブジェクトを使用して、アプリケーションのスレッドの特性を 管理できます。これは、生成時にスレッドに使用される値の集合を定義します。スレッド属性オブジェクトを確立すると、各スレッドごとに特性を定義しないで、同じ一連の特性をもつ多数のスレッドを作成できます。複数のスレッド属性オブジェクトを定義できます。

戻り値

正常に実行された場合、pthread_attr_getweight_np() は スレッド属性の重みの値を戻します。

正常に実行されなかった場合は、pthread_attr_getweight_np() は -1 を戻します。

設定される errno 値はありません。 perror() または strerror() を使用して、エラーの原因を判別してください。

CELEBP09
⁄* CELEBP08 *⁄
#define _OPEN_THREADS
#define _OPEN_SYS           ⁄* Needed to identify __HEAVY_WEIGHT AND
                             __MEDIUM WEIGHT  *⁄
#include <stdio.h>
#include <pthread.h>

int main()
{
   pthread_attr_t attr;
   char           weight[12];

   if (pthread_attr_init(&attr) == -1) {
      perror("error in pthread_attr_init");
      exit(1);
   }

   switch(pthread_attr_getweight_np(&attr)) {
      default:
         perror("error in pthread_attr_getweight_np()");
         exit(2);
      case __HEAVY_WEIGHT:
         strcpy(weight, "heavy");
         break;
      case __MEDIUM_WEIGHT:
         strcpy(weight, "medium");
   }
   printf("The thread weight is %s.¥n", weight);

   if (pthread_attr_destroy(&attr) == -1) {
      perror("error in pthread_attr_destroy");
      exit(2);
   }
   exit(0);
}
出力:
The thread weight is heavy.

関連情報