Standards / Extensions | C or C++ | Dependencies |
---|---|---|
z/OS® UNIX | both | POSIX(ON) |
#define _OPEN_THREADS
#define _OPEN_SYS
#include <pthread.h>
int pthread_attr_setweight_np(pthread_attr_t *attr, int threadweight);
Alter the current weight of the thread setting of the thread attribute object, attr.
You can use a thread attribute object to manage the characteristics of threads in your application. It defines the set of values to be used for the thread during its creation. By establishing a thread attribute object, you can create many threads with the same set of characteristics, without defining those characteristics for each thread. You can define more than one thread attribute object.
If successful, pthread_attr_setweight_np() returns 0.
If unsuccessful, pthread_attr_setweight_np() returns -1.
There are no documented errno values. Use perror() or strerror() to determine the cause of the error.
⁄* CELEBP13 *⁄
#define _OPEN_THREADS
#define _OPEN_SYS ⁄* Needed to identify __MEDIUM_WEIGHT *⁄
#include <stdio.h>
#include <pthread.h>
void *thread1(void *arg)
{
printf("hello from the thread\n");
pthread_exit((void *)0);
}
int main()
{
int rc, stat;
pthread_attr_t attr;
pthread_t thid;
rc = pthread_attr_init(&attr);
if (rc == -1) {
perror("error in pthread_attr_init");
exit(1);
}
rc = pthread_attr_setweight_np(&attr, __MEDIUM_WEIGHT);
if (rc == -1) {
perror("error in pthread_attr_setweight_np");
exit(2);
}
rc = pthread_create(&thid, &attr, thread1, NULL);
if (rc == -1) {
perror("error in pthread_create");
exit(3);
}
rc = pthread_join(thid, (void *)&stat);
exit(0);
}