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最優先級最高。