1.Unix线程优先级有三种函数
1,SCHED_OTHER线程
分时调度,一个进程在这个时间段内运行,下一个时间段 运行另外一个进程进程
2.SCHED_FIFO资源
实时调度,那个线程优先强用cpu资源则一直占用,知道使用完毕释放或者更高优先级的线程抢占it
3.SCHED_RRio
时间片轮转,当cpu资源不够时,把一个进程切分为多个时间片,每一个时间片执行一个线程的一小段程序thread
系统默认的是 SCHED_OTHER方法,不支持优先级,其余两个支持。程序
设置调度策略的函数是pthread_attr_setschedpolicy(&attr,SCHED_RR);方法
设置优先级策略的方式:cpu
struct sched_param param;
param.sched_priority = 99;
pthread_attr_setschedparam(&attr,¶m);
其中param的值 1-99 99最优先级最高。