pthread priority
Linux核心的三種排程策略:
1,SCHED_OTHER 分時排程策略,
2,SCHED_FIFO實時排程策略,先到先服務。一旦佔用cpu則一直執行。一直執行直到有更高優先順序任務到達或自己放棄
3,SCHED_RR實時排程策略,時間片輪轉。當程序的時間片用完,系統將重新分配時間片,並置於就緒佇列尾。放在佇列尾保證了所有具有相同優先順序的RR任務的排程公平
{
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,¶m);
pthread_attr_setinheritsched(&attr2,PTHREAD_EXPLICIT_SCHED);//要使優先順序其作用必須要有這句話
pthread_create(&ppid1,&attr2,(void *)Thread1,NULL);
pthread_join(ppid1,NULL);
pthread_attr_destroy(&attr2);
return 0;
}
留言
張貼留言