pthread_attr_t 控制线程属性结构体

pthread_attr_t结构体用于控制线程属性,包括detachstate决定线程是否独立,schedpolicy和schedparam设置调度策略和优先级,inheritsched和scope关于调度和优先级的继承与范围。通过相关函数如pthread_attr_init、pthread_attr_setdetachstate等可初始化、修改这些属性。线程堆栈的大小和地址也可通过该结构体设定。pthread_join和pthread_detach用于线程同步和资源释放。
摘要由CSDN通过智能技术生成
typedef struct __pthread_attr_s
{

    int __detachstate; 

    int __schedpolicy;

    struct __sched_param __schedparam;

    int __inheritsched;

    int __scope;

    size_t __guardsize;

    int __stackaddr_set;

    void *__stackaddr;

    size_t __stacksize;表示堆栈的大小。

}pthread_attr_t;


int __detachstate;
        设置线程是否和其他线程同步(其他线程能否调用pthread_join()),也可以在新线程运行中调用pthread_detach() 完成。有两个值,PTHREAD_CREATE_DETACHEDPTHREAD_CREATE_JOINABLE,默认值是后者,后者情况下线程的资源在退出后自行释放。设置为PTHREAD_CREATE_DETACH状态(不论是创建时设置还是运行时设置) 则不能再恢复到PTHREAD_CREATE_JOINABLE状态。
int __schedpolicy;                   
        线程的调度策略, 可以用pthread_setschedparam设置,有效值为SCHED_OTHER(正常、非实时)、SCHED_RR(实时、轮转法)和SCHED_FIFO(实时、先入先出)。缺省为SCHED_OTHER,后两种调度策略仅对超级用户有效。运行时可以用过pthread_setschedparam()来改变。

struct __sched_param __schedparam;   
        调度参数,目前仅有一个sched_priority整型变量表示线程的运行优先级,表示线程的优先级,只在调度策略为SCHED_RRSCHED_FIFO</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值