最近对线程切换比较感兴趣,就是没有看到windows在什么时候进行线程切换,也到现在没有明白是怎么实现的,就是在什么地方改变CS和EIP的值,请各位指点一下,谢谢!
回复(8) 2007-06-26 09:26 来自版块 - windows 源码解读
表情
jzw333789现在,我正在看那本教材,都看晕了,,里面好多的东西都没见过啊,,看到线程那部分也晕晕的。。我继续努力啊!!!要多潜水才行!!!(2008-08-05 16:28)
tonyfirst1必然有个线程专门来管理,线程调度的问题。 多线程应该也是CPU支持的才对。 应该会定时激活那个专门调度的线程。(2008-07-12 21:50)
XinHuaSoftTo chagoogle:我对于线程调度的理解也跟你一样,不过我有一个困惑,那就是:线程调度的IRQL级别是在DISPATCH_LEVEL,但按照你刚才说的三种线程调度情况来说的话,其中第一种情况线程调度的IRQL级别就应该是CLOCK1_LEVEL或CLOCK2_LEVEL了呀...(2008-06-15 22:38)
chagoogle1.时间片:时钟中断处理例程从PCR中取得当前线程对象指针并更新线程时间,如果超出了时间片,则将当前线程从放入ready列表中,然后从standby列表中取出最高优先级的线程,然后保存当前线程上下文数据,并转到新的线程上下文. 2.主动等待:线程调用等待函数,则将当前线程放到w...(2008-02-18 21:11)
zongjgwindows没隔几毫秒进行一些线程切换好像是6毫秒,记不太清楚了。windows有一个等待调度队列,切换的时候,windows从调度队列中取走最前面的线程开始把时间片分给它,等切换时间一到,它会执行下一个调度线程,当前的线程重新到调度队列排队。调度的先后和线程的优先级有关,如果...(2007-12-08 11:43)
qiweixue貌似还有个优先级调度,,,,(2007-11-20 10:27)
king21th关注中!(2007-11-14 21:21)
jingjing1977主要有两种方式-主动和被动,比如应用程序调用诸如Sleep之类的函数主动出让CPU控制给其他的线程,还有就是时间片到期后被动切换。(2007-10-04 20:42)

返回顶部