多线程的通讯-线程属性

这里仅仅结束线程属性的初始化,线程属性都有哪些成员及其初值,重点介绍detachstate成员线程

使用pthread_attr_init来初始化线程属性进程

#include <pthread.h>资源

int pthread_attr_destroy(pthread_attr_t *attr);
int pthread_attr_init(pthread_attr_t *attr);

线程属性初始值:
get

scope                         PTHREAD_SCOPE_PROCESS      新线程与其余进程中的线程发生竞争it

detachstate               PTHREAD_CREATE_JOINABLE     线程能够被其余线程等待thread

stackaddr                  NULL                                         新线程具备系统分配的栈地址scope

stacksize                    0                                               新线程具备系统定义的栈大小co

….join

#include <pthread.h>系统

int pthread_attr_getdetachstate(const pthread_attr_t *attr,int *detachstate);

起合法值包括

1 PTHREAD_CREATE_DETACHED: 此选项是的使用attr建立的全部关联线程处于分离状态。线程终止时候,系统将自动回收与线程有关的资源,不能被其余线程等待

2 PTHREAD_CREATE_JOINABLE:此选项是的建立的线程处于可链接的状态,线程终止时系统不会回收线程资源,要用pthread_join()回收