当前位置: 技术问答>linux和unix
LINUX的任务调度
来源: 互联网 发布时间:2015-01-29
本文导语: 我使用LINUX7。3,同时启动两个THREAD,并且将THREAD的调度方式设为OTHER,一个的优先级为20,一个为220。统计进入次数。发现执行两个THREAD的次数差不多。 请问原因? 请教在这个系统下如何体现优先级高的THREAD优先执...
我使用LINUX7。3,同时启动两个THREAD,并且将THREAD的调度方式设为OTHER,一个的优先级为20,一个为220。统计进入次数。发现执行两个THREAD的次数差不多。
请问原因?
请教在这个系统下如何体现优先级高的THREAD优先执行?
高分像送!有资料最好!
mr_fanwei@163.com
请问原因?
请教在这个系统下如何体现优先级高的THREAD优先执行?
高分像送!有资料最好!
mr_fanwei@163.com
|
在系统空闲的情况下,高优先级的线程相对低优先级的线程并没有太大的优势,只有的系统比较繁忙时才能体现出来,而且调度方式设为OTHER后系统采用非实时的轮转法进行调度,线程的优先级不能很好地体现出来,可以将调度方式设为RR,即实时的基于优先级的轮转法进行调度,可能会好一些。
|
多半你的线程是不是CPU密集型的任务。
优先级再高的线程,阻塞在IO上,还是不可能被调度,这个道理很简单啊。
#include
void *busy (void *p)
{
for(;;)
{
int i;
for(i = 0; i
优先级再高的线程,阻塞在IO上,还是不可能被调度,这个道理很简单啊。
#include
void *busy (void *p)
{
for(;;)
{
int i;
for(i = 0; i