偶然看見了Thread.sleep(0),就搜了一些資料來看,下面簡單記錄一下,如有誤解還請指正。
Windows 是搶佔式操作系統,簡單說就是,當一個進程得到了CPU時間,只有它執行完任務,放棄CPU,CPU才會篩選下一個獲得CPU的任務。
而篩選的條件就是優先級和等待CPU時間,那麼假如有A B C 三個任務,A的優先級超級大,那麼就A有可能 一直持有CPU。
所以 sleep(0)的作用就是 ‘觸發操作系統立刻重新進行一次CPU競爭’,以重新選擇任務獲取CPU。
偶然看見了Thread.sleep(0),就搜了一些資料來看,下面簡單記錄一下,如有誤解還請指正。
Windows 是搶佔式操作系統,簡單說就是,當一個進程得到了CPU時間,只有它執行完任務,放棄CPU,CPU才會篩選下一個獲得CPU的任務。
而篩選的條件就是優先級和等待CPU時間,那麼假如有A B C 三個任務,A的優先級超級大,那麼就A有可能 一直持有CPU。
所以 sleep(0)的作用就是 ‘觸發操作系統立刻重新進行一次CPU競爭’,以重新選擇任務獲取CPU。