OS 书上都说,
线程1(进程)正在执行时候,如果一个优先级高的线程2(进程)进入就绪队列,则CPU交给线程2,线程1放在就想队列中.
问题是:线程1在在执行时占用CPU,怎么又会去执行下面的行为:把线程2放入就绪队列中,并判断优先级的高低?

解决方案 »

  1.   

    OS 书上都说,
    线程1(进程)正在执行时候,如果一个优先级高的线程2(进程)进入就绪队列,则CPU交给线程2,线程1放在就绪队列中.
    问题是:线程1在在执行时占用CPU,怎么又会去执行下面的行为:把线程2放入就绪队列中,并判断优先级的高低?
      

  2.   

    CPU是由操作系统掌管并且分配的。
      

  3.   

    现在的CPU都是分时间片的,每走完一个时间片,CPU就会重新按照优先级去挑线程。
    所以所谓的线程1在执行,并不是一个连续不断的动作
      

  4.   

    你说的是一种叫做强占式的cpu调度策略吧。
    不过应该先将中断这部分看完,再看这个问题就好解决了