標準/拡張機能 | 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);
スレッド属性オブジェクトを使用して、アプリケーションのスレッドの特性を 管理できます。これは、生成時にスレッドに使用される値の集合を定義します。スレッド属性オブジェクトを確立すると、各スレッドごとに特性を定義しないで、同じ一連の特性をもつ多数のスレッドを作成できます。複数のスレッド属性オブジェクトを定義できます。
正常に実行された場合、pthread_attr_getweight_np() は スレッド属性の重みの値を戻します。
正常に実行されなかった場合は、pthread_attr_getweight_np() は -1 を戻します。
設定される errno 値はありません。 perror() または strerror() を使用して、エラーの原因を判別してください。
⁄* 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.