码迷,mamicode.com
首页 > 其他好文 > 详细

TALK一下SCHED_RR和SCHED_FIFO

时间:2014-06-24 21:34:56      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:pthread   sched_rr   sched_fifo   

我们在用pthread创建线程时,可以指定调度策略policy——SCHED_OTHER(默认)、SCHED_RR和SCHED_FIFO。这里TALK一下两个实时策略——SCHED_RR和SCHED_FIFO。

先看一下效果,我们创建了四个子线程,指定最高优先级(针对特定策略):

  • SCHED_RR
bubuko.com,布布扣

  • SCHED_FIFO
bubuko.com,布布扣

对相同优先级的任务,SCHED_RR是分配给每个任务一个特定的时间片,然后轮转依次执行;而SCHED_FIFO则是让一个任务执行完再调度下一个任务,而顺序就是按照创建的先后。
SCHED_RR是根据时间片来调度线程的,当时间片用完时,不管这个线程优先级有多高,都不会在运行,而是进入就绪队列,等待下一个时间片到来。不过图1显示,在thread5798时间片用完时,该线程紧接着进行了一次抢占preemption,又获得了一个时间片。顺便提一句时间片长度的定位是linux凭经验来的,即选择尽可能长、同时能保持良好相应时间的一个时间片。

TALK一下SCHED_RR和SCHED_FIFO,布布扣,bubuko.com

TALK一下SCHED_RR和SCHED_FIFO

标签:pthread   sched_rr   sched_fifo   

原文地址:http://blog.csdn.net/bluecloudmatrix/article/details/33306127

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!