在使用pthread_create函数创建线程时,我们可以在函数参数列表看到pthread_attr_t *attr这一参数,该参数用于设置线程的属性,一般情况下可使用NULL设置线程属性为默认属性。
线程属性标识符pthread_attr_t包含在pthread.h头文件中
线程属性结构如下:
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;
线程属性主要包含:作用域(scope)、栈的大小(stacksize)、栈地址(stackaddr)、优先级(priority)、分离状态(detachstate)、调度策略和参数(scheduling policy and parameters)。