线程调度策略SCHED_RR(轮转法)和SCHED_FIFO(先进先出)之对照
2024-09-08 14:57:39
我们在用pthread创建线程时,能够指定调度策略policy——SCHED_OTHER(默认)、SCHED_RR和SCHED_FIFO。这里TALK一下两个实时策略——SCHED_RR和SCHED_FIFO。
先看一下效果。我们创建了四个子线程,指定最高优先级(针对特定策略):
- SCHED_RR
- SCHED_FIFO
对同样优先级的任务。SCHED_RR是分配给每一个任务一个特定的时间片,然后轮转依次运行。而SCHED_FIFO则是让一个任务运行完再调度下一个任务,而顺序就是依照创建的先后。
SCHED_RR是依据时间片来调度线程的,当时间片用完时,无论这个线程优先级有多高,都不会在执行,而是进入就绪队列,等待下一个时间片到来。只是图1显示,在thread5798时间片用完时,该线程紧接着进行了一次抢占preemption。又获得了一个时间片。顺便提一句时间片长度的定位是linux凭经验来的。即选择尽可能长、同一时候能保持良好对应时间的一个时间片。
最新文章
- js调用.net后台事件、后台调用前台以及js调用服务器控件
- Lucene 工作原理 之倒排索引
- web前端开发工具HBuilder使用技巧之快捷键
- bzoj 3289 Mato的文件管理(莫队算法+BIT)
- hibernate4.0+版本和3.0+版本的区别总结
- Groovy简洁开发,我用到的简洁之处
- HTML中的figure与figcaption标签
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block
- linux 安装jdk-7u45-linux-x64.tar.gz
- 通过ssh远程ipython notebook登录使用服务器
- AJAX的简洁写法
- python的占位格式符 %
- jQuery轮播图--不使用插件
- win7运行bat文件 一闪而过 解决 必须要将生成器放在C盘等没有中文的目录里
- 2019.01.04 洛谷P4719 【模板】动态dp(链分治+ddp)
- 【API】网络编程模型、多线程
- java 多线程4: java线程的优先级
- 【jQuery】deferred对象了解
- python笔记六:进程与线程
- 学习《深入理解C#》—— 泛型 (第三章3.1---3.2)