1.线程属性结构体
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
但是线程属性不能直接改,需要相关函数操作。
线程初始化函数pthread_attr_init()必须在pthread_create之前调用
2.线程优先级
对优先级操作加头函数#include<sched.h>
pthread_attr_getschedparam() //获取优先级
pthread_attr_setschedparam() //设置优先级
3.线程的分离状态和非分离状态
线程分离与否关系到线程的终止方式
非分离线程默认其他线程执行到pthread_join函数后会等待该线程结束
分离进程主进程结束了就结束了,主进程不会等待
pthread_attr_setdetachstate()设置是否分离