Windows线程优先级与调度机制详解.pdfVIP

  • 1
  • 0
  • 约5.44千字
  • 约 5页
  • 2026-10-21 发布于北京
  • 举报

线程的优先级

每个线程都有一个“优先级”,范围是0~31,0为最低优先级,31为最高优先级。当

系统决定哪个线程需要调度的时候,首先查看是否存在优先级为31的可调度线程,如果存

在,就从中选择一个进行调度。当该线程的时间片到达,系统查看是否存在另一个优先

级为31的可调度线程,如果存在,就调度它。

只要有一个可调度的优先级为31的线程存在,那么系统绝对不会调度优先级为0~30

的线程,这样会导致其他线程“饥饿”。

高优先级线程往往“打断”低优先级线程的执行。比如,当一个优先级为15的线程正

在运行,如果此时系统发现一个优先级比15高的线程可以调度,那么该高优先级线程会“打

断”那个低优先级线程的执行,哪怕低优先级的时间片才过了一半。

另外,当系统的时候,系统创建一个特殊的线程,称为“zeropage”(0页)线程,

该线程是整个系统中唯一一个优先级为0(最低)的线程。当系统没有任何线程需要执行的

时候,该线程负责将系统中所有RAM页面(也就是回收)。

线程优先级有一个抽象层的概念。

由于一些的,微

文档评论(0)

1亿VIP精品文档

相关文档