共用方式為


內容切換

排程器會針對每個優先順序層級維護可執行線程的佇列。 這些稱為 就緒線程。 當處理器可供使用時,系統會 執行內容參數。 內容切換中的步驟如下:

  1. 儲存剛完成執行之線程的內容。
  2. 將剛在佇列結尾執行的線程放在其優先順序的結尾。
  3. 尋找包含就緒線程的最高優先順序佇列。
  4. 拿掉佇列前端的線程、載入其內容,然後加以執行。

下列線程類別尚未就緒線程。

  • 使用 CREATE_SUSPENDED 旗標建立的線程
  • 使用 suspendThread或 switchToThread函式執行期間停止的線程
  • 等候同步處理物件或輸入的線程。

在暫停或封鎖的線程準備好執行之前,排程器不會為其配置任何處理器時間,而不論其優先順序為何。

內容切換最常見的原因是:

  • 時間配量已經過時。
  • 優先順序較高的線程已準備好執行。
  • 執行中的線程必須等候。

當執行中的線程需要等候時,它會放棄剩餘的時間配量。