是不是有什么函数,可以把时间片定义的更小一点呢?
10 个解决方案
#1
这是内核的事儿,你就当没有时间片就行了
#2
晕!
如果不能把时间片分的更细,你如何保证多线程能及时响应?
比如一个时间片,就20ms,在这20ms里面,别的线程肯定就得不到响应了(除非频繁使用中断)!
据说nt系统最小时间片是4ms,我们是不是有什么法子,在代码里面控制它的长短呢?
如果不能把时间片分的更细,你如何保证多线程能及时响应?
比如一个时间片,就20ms,在这20ms里面,别的线程肯定就得不到响应了(除非频繁使用中断)!
据说nt系统最小时间片是4ms,我们是不是有什么法子,在代码里面控制它的长短呢?
#3
如果事情做完了可以调用sleep waitforsingleobject......
这些函数将线程挂起
这些函数将线程挂起
#4
WINDOWS本来就不是实时的系统,要求毫秒级的精确是很难做到的,系统中运行的线程越多,越不可能及时响应。看看WINDOWS核心编程吧。
说不定能让你的思路转一下^_^
说不定能让你的思路转一下^_^
#5
我不认为一个时间片是20-30ms,这时间显然长得不合理,应该会短得多
#6
up一下!
期待高手来讲解啊!
期待高手来讲解啊!
#7
20ms的时间片你嫌多啊? 靠!
不知道楼主做这个有什么意义?我想在大多数程序来说,都没有修改时间片的需要。
时间片小了OS可能会在线程、进程间频繁的切换浪费CPU时间。
再说,WINDOWS是抢占式的调度,一旦一个高级别的线程苏醒,它就会抢占低级别的线程时间片。除非在系统里头所有的程序都是同级别的,那么就轮次的方式执行,那么每个线程就会运行够20ms后才让出CPU时间。
不知道楼主做这个有什么意义?我想在大多数程序来说,都没有修改时间片的需要。
时间片小了OS可能会在线程、进程间频繁的切换浪费CPU时间。
再说,WINDOWS是抢占式的调度,一旦一个高级别的线程苏醒,它就会抢占低级别的线程时间片。除非在系统里头所有的程序都是同级别的,那么就轮次的方式执行,那么每个线程就会运行够20ms后才让出CPU时间。
#8
嗯,我就是碰到一个项目——优先级别是一样的,但每次处理都不需要20ms,我想把时间片再细分一点!
不然我怕它根本响应不过来啊!
我是听有个人说,时间片可以细分,最低到4ms的!
不然我怕它根本响应不过来啊!
我是听有个人说,时间片可以细分,最低到4ms的!
#9
你把你所有的线程优先级别调高一些处理就快一些。
#10
晕,怎么好像你们都没听懂啊!
把优先级调高有什么用呢?
我现在碰到的问题是:一个程序,有好多线程,要同时完成好多个任务——但每个任务,不需要花费一个时间片的时间,我想人为的把这个时间片分更小一点!
不是什么优先级的问题!
把优先级调高有什么用呢?
我现在碰到的问题是:一个程序,有好多线程,要同时完成好多个任务——但每个任务,不需要花费一个时间片的时间,我想人为的把这个时间片分更小一点!
不是什么优先级的问题!
#1
这是内核的事儿,你就当没有时间片就行了
#2
晕!
如果不能把时间片分的更细,你如何保证多线程能及时响应?
比如一个时间片,就20ms,在这20ms里面,别的线程肯定就得不到响应了(除非频繁使用中断)!
据说nt系统最小时间片是4ms,我们是不是有什么法子,在代码里面控制它的长短呢?
如果不能把时间片分的更细,你如何保证多线程能及时响应?
比如一个时间片,就20ms,在这20ms里面,别的线程肯定就得不到响应了(除非频繁使用中断)!
据说nt系统最小时间片是4ms,我们是不是有什么法子,在代码里面控制它的长短呢?
#3
如果事情做完了可以调用sleep waitforsingleobject......
这些函数将线程挂起
这些函数将线程挂起
#4
WINDOWS本来就不是实时的系统,要求毫秒级的精确是很难做到的,系统中运行的线程越多,越不可能及时响应。看看WINDOWS核心编程吧。
说不定能让你的思路转一下^_^
说不定能让你的思路转一下^_^
#5
我不认为一个时间片是20-30ms,这时间显然长得不合理,应该会短得多
#6
up一下!
期待高手来讲解啊!
期待高手来讲解啊!
#7
20ms的时间片你嫌多啊? 靠!
不知道楼主做这个有什么意义?我想在大多数程序来说,都没有修改时间片的需要。
时间片小了OS可能会在线程、进程间频繁的切换浪费CPU时间。
再说,WINDOWS是抢占式的调度,一旦一个高级别的线程苏醒,它就会抢占低级别的线程时间片。除非在系统里头所有的程序都是同级别的,那么就轮次的方式执行,那么每个线程就会运行够20ms后才让出CPU时间。
不知道楼主做这个有什么意义?我想在大多数程序来说,都没有修改时间片的需要。
时间片小了OS可能会在线程、进程间频繁的切换浪费CPU时间。
再说,WINDOWS是抢占式的调度,一旦一个高级别的线程苏醒,它就会抢占低级别的线程时间片。除非在系统里头所有的程序都是同级别的,那么就轮次的方式执行,那么每个线程就会运行够20ms后才让出CPU时间。
#8
嗯,我就是碰到一个项目——优先级别是一样的,但每次处理都不需要20ms,我想把时间片再细分一点!
不然我怕它根本响应不过来啊!
我是听有个人说,时间片可以细分,最低到4ms的!
不然我怕它根本响应不过来啊!
我是听有个人说,时间片可以细分,最低到4ms的!
#9
你把你所有的线程优先级别调高一些处理就快一些。
#10
晕,怎么好像你们都没听懂啊!
把优先级调高有什么用呢?
我现在碰到的问题是:一个程序,有好多线程,要同时完成好多个任务——但每个任务,不需要花费一个时间片的时间,我想人为的把这个时间片分更小一点!
不是什么优先级的问题!
把优先级调高有什么用呢?
我现在碰到的问题是:一个程序,有好多线程,要同时完成好多个任务——但每个任务,不需要花费一个时间片的时间,我想人为的把这个时间片分更小一点!
不是什么优先级的问题!