Linux 线程属性pthread_attr_t

阅读数:62 评论数:0

跳转到新版页面

分类

Linux

正文

osix线程属性pthread_attr_t主要包括:

(1) scope属性

表示线程间竟争CPU的范围, PTHREAD_SCOPE_SYSTEM表示与系统中所有线程一起竞争CPU时间, PTHREAD_SCOPE_PROCESS表示与同进程中的线程竞争CPU.

(2) detach属性

如果设置为PTHRAD_CREATE_DETACHED, 则新线程不能用pthread_join来同步, 且在退出时自行释放所占用的资源.

缺省为PTHREAD_CREATE_JOINABLE, 一旦设置为DETACHED, 则不能再恢复到PTHREAD_CREATE_JOINABLE状态.

(3) 堆栈大小

(4) 堆栈地址

(5) 优先级

__schedpolicy, 表示新线程的调度策略, SCHED_OTHER(正常 ,非实时), SCHED_RR(实时,轮转法), SCHED_FIFO(实时,先入先出)

__schedparam, 这个参数仅在调试策略为实时时才有效.

__inheritsched, PTHREAD_EXPLICIT_SCHED表示新线程使用显式指定调试策略和调度参数(即attr中的值), PTHREAD_INHERIT_SCHED表示继承调用者线程的值.