我们已经谈过调度算法以及线程状态,但是我们还没有说过线程等重新调度的原因与时间。有一个常见的误解就是:重新调度的发生是没有什么原因的。这在设计阶段是一个有用的概念。但是更重要的是你要知道产生重新调度的条件。
重新调度只会由于以下几个原因才会发生:
阅读全文…
一旦由于内核调用、例外或者是硬件中断而开始系统微内核的调用,正在运行中的线程就会被暂停。只要任何线程的运行发生改变就要做出一个线程调度的决策,不管这个线程位于哪个进程中。所有进程中的线程是全局调度的。
一般来说暂停的线程会恢复运行,但是线程调度器当一个运行中的线程被阻塞、被其他线程抢先或者是自释放的时候就要完成从一个线程到另一个线程的环境转换。
近期评论