pthread priority

Linux核心的三種排程策略:

1,SCHED_OTHER 分時排程策略,
2,SCHED_FIFO實時排程策略,先到先服務。一旦佔用cpu則一直執行。一直執行直到有更高優先順序任務到達或自己放棄

3,SCHED_RR實時排程策略,時間片輪轉。當程序的時間片用完,系統將重新分配時間片,並置於就緒佇列尾。放在佇列尾保證了所有具有相同優先順序的RR任務的排程公平


int main()
{
int i;
i = getuid();
if(i==0)
    printf("The current user is root\n");
else
    printf("The current user is not root\n");

pthread_t ppid1;
struct sched_param param;

pthread_attr_t attr2;

pthread_attr_init(&attr2);
param.sched_priority = 51;
pthread_attr_setschedpolicy(&attr2,SCHED_RR);
pthread_attr_setschedparam(&attr2,&param);
pthread_attr_setinheritsched(&attr2,PTHREAD_EXPLICIT_SCHED);//要使優先順序其作用必須要有這句話

pthread_create(&ppid1,&attr2,(void *)Thread1,NULL);

pthread_join(ppid1,NULL);
pthread_attr_destroy(&attr2);
return 0;
}















留言

這個網誌中的熱門文章

sysfs_create_group 註冊 attribute

vim 基礎操作

20220411 台南砲校教召