Pixel 6/Pro 正式釋出,谷歌想通過 Tensor 晶片把人工智慧塞進使用者手機中
阿新 • • 發佈:2021-10-20
一、執行緒排程
執行緒排程就是作業系統為執行緒分配處理器使用權的過程。
二、執行緒排程方式
1. 協同式(Cooperative threads-scheduling)
協同式是指執行緒的切換是執行緒自己控制,也就是說執行緒執行完成後主動通知切換到另一條執行緒執行。
協同式排程的好處:
實現簡單,執行緒的切換是執行緒可知的,所以,不存線上程同步問題。
協同式排程的缺點:
執行緒的執行時間不可控,假設,某個執行緒程式碼編寫有錯,導致執行緒堵塞無法通知切換其他執行緒執行,會導致整個程序堵塞。
2. 搶佔式(Preemptive threads-scheduling)
搶佔式排程是指由作業系統分配執行緒執行時間,執行緒的切換是作業系統控制。
由於執行緒的執行時間和執行緒切換由作業系統控制,即使某一條執行緒堵塞,也不會堵塞程序繼續執行。
搶佔式排程是由作業系統分配和控制,執行緒是不能控制的。雖然執行緒執行時間是不能主動申請的,但是,可以建議哪些執行緒可以多分配一些執行時間。這一項操作是通過執行緒優先順序完成的。
三、Java執行緒排程方式
Java的執行緒排程採用搶佔式進行排程的,Java中執行緒的執行順序通過執行緒優先順序進行調整。Java中執行緒執行緒優先順序分為10級。