CLR via C# 讀書筆記 3-3 Thread.Sleep -1 0 1 和其他
Thread.Sleep(-1)
通知系統不要調度該線程,事實上這個方法沒什么用,因為它讓線程一直活著又什么都不做,
建議是直接終結了現場
Thread.Sleep(0)
告訴系統當前線程不需要剩下的時間片了,請系統去調度其他的線程
但是系統經過計劃以后有可能還是覺得當前線程比較重要,又繼續執行當前線程
這取決于優先級,如果其他優先級都比當前優先級低的話,那么當前線程會繼續
Thread.Sleep(1)
強制上下文切換,線程會休眠超過1毫秒
Thread.Sleep(int)
休眠線程多少毫秒.
因為windows系統的計時器時間片切換是30ms...所以實際上.....這個時間都是不怎么準確的
提高優先級有利于提高準確度, 不過沒有辦法根本上解決這個問題
浙公網安備 33010602011771號