關於線程切換與非同步呼叫相關的幾句話—-摘自《Windows核心情景分析》

來源:互聯網
上載者:User

1,線程調度與線程切換

      線程調度發生在核心層內部,而線程切換髮生於CPU推出核心層的時候。

2,APC(非同步程序呼叫)執行時機

      (1)對於使用者APC,目標線程從核心返回使用者空間時調用;

       (2)對於核心APC,發生於CPU降低運行層級或者進行線程切換時;

3,DPC(延遲程序呼叫)調用時機

       CPU運行層級從DISPATCH——LEVEL或者以上降低到DISPATCH_LEVEL以下時,核心掃描DPC隊列,並執行之。例如,中斷服務退出時,或者顯示調用KeLoverErql()時。

4,關於非同步IO

       當前線程,從IoStartPacket()返回,一直到IoPerformSyncronousRequest()中,可能睡眠等待,或者一直返回到使用者空間。對於裝置的操作就交給了中斷服務程式和DPC函數或許還有核心線程。實際上交給DPC函數或者核心線程完成的工作還包括用來同步的事件V操作,並遞交APC請求。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.