线程的分离状态

线程的分离状态是线程的一种属性,线程的属性结构为:

typedef struct

{

int detachstate; //分离状态

int schedpolicy; //调度策略

structsched_param schedparam; //调度参数

int inheritsched; //线程继承性

int scope; //线程作用域

size_t guardsize; //线程栈末尾的警戒缓冲区大小

int stackaddr_set;

void* stackaddr; //线程栈位置

size_t stacksize; //线程栈大小

} pthread_attr_t;

线程的分离状态是指线程的生命结束后资源的回收是否受其他线程或者程序主线程的控制,默认的线程分离状态为结合状态(join-able),需要由其他线程调用pthread_join(pthread_t pth, void** rval)等待线程pth终止,并回收线程占用的系统资源,但是等待线程会被阻塞,直到监控的线程终止。如果没有线程调用pthread_join函数,那么创建的线程资源在程序结束前不会被系统自动回收。对于detach状态的线程,线程终止后系统会自动回收线程占用的资源。

可以通过pthread_getdetachstate函数获取线程的分离状态,也可以通过pthread_setdetachstate函数设置线程的分离状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值