【linux系统编程学习笔记】第九节:线程的属性设置1(pthread_attr_setdetachstate、pthread_t pthread_self、pthread_attr_getdeta)

线程的属性设置

线程的属性初始化

线程的分离属性

分离属性的API

pthread_attr_setdetachstate 设置分离属性

pthread_attr_getdetachstate 获取该线程分离属性情况

线程的栈大小属性

设置栈大小属性的相关API

pthread_getattr_np   获取整个线程的属性设置

pthread_t pthread_self   获取本线程ID

pthread_attr_getstacksize  获取线程栈的大小

pthread_attr_setstacksize  设置栈的大小


线程的属性初始化

          线程的属性有很多,本文主要讲解几个常用的重要属性如何设置,如果想要设置线程属性功能,就必须诞生一个线程的属性结构体变量(pthread_attr_t),并且用pthread_attr_init去初始化这个变量,当用完之后用线程的pthread_attr_destroy去销毁掉线程的属性结构体。

线程属性结构体:

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;

如果想要设置线程的属性,需要调用以下线程属性初始化定义的该结构体结构体:

#include <pthread.h>

int pthread_attr_init(pthread_attr_t *attr);//线程属性结构体初始化
int pthread_attr_destroy(pthread_attr_t *attr);//线程属性结构体销毁

函数功能

  • pthread_attr_init(pthread_attr_t *attr);  //线程属性结构体初始化
  • pthread_attr_destroy(pthread_attr_t *attr); //线程属性结构体销毁

参数:

  • attr:线程的属性结构体地址

返回值:

  • 成功则返回0,失败则返回一个错误值,errno没有被设置

线程的分离属性

       线程的属性中有两种分离属性,一种是完全分离属性,一种是可接合属性

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值