线程的回收取决于线程的属性,接下来我们来了解一下什么是线程的属性
1.线程的属性(attr):
1.加入属性:
线程结束后需要手动回收线程空间(使用pthread_join函数接口)
优点:
1.可以回收线程结束的状态;
2.可以实现线程的同步(当本线程未结束时会阻塞等待);
2.分离属性:
线程结束后自动回收线程空间;
优点:
不需要手动回收空间,线程结束由系统自动回收
线程函数接口补充:
接口4:pthread_attr_init
原型:int pthread_attr_init(pthread_attr_t *attr);
功能:
将线程属性初始化为默认值;
参数:
attr:存放线程属性空间首地址;
返回值:
成功时返回 0;
失败时返回非0值;
接口5:pthread_attr_setdetachstate
原型:int pthread_attr_setdetachstate(pthread_attr_t *attr,int detachstate)
功能:在线程属性对象中设置 分离状态属性
参数:
attr:存放线程属性空间首地址;
detachstate:线程属性
相关宏:
PTHEREAD_CREAT_DETACHED 分离属性
PTHEREAD_CREAT_JOINABLE 加入属性
返回值:
失败返回非0;
成功返回0;
接口6:pthread_attr_destory
原型:int pthread_attr_destory(pthread_attr_t *attr);
功能:线程属性销毁;
参数:
attr: