这里仅仅结束线程属性的初始化,线程属性都有哪些成员及其初值,重点介绍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()回收