引起上下文切換的原因
引起上下文切換的原因如下
- 當前正在執行的任務完成,系統的cpu正常調度下一個任務
- 當前正在執行的任務遇到i/o等阻塞操作,調度器掛起此任務,繼續調度下一個任務。
- 多個任務併發搶佔資源,當前任務麼有搶到鎖資源,被調度器掛起,繼續調度下一個任務,
- 用戶的代碼掛起當前任務,比如線程執行sleep方法,讓出CPU。
- 硬件中斷。
https://www.bilibili.com/video/BV1k8411575T/?vd_source=d68ed178f151e80fea1e02efd205802c