wait和sleep

java.lang.Object
類 Object 是類層次結構的根類。每個類都使用 Object 作爲超類。所有對象(包括數組)都實現這個類的方法。
這個類有的方法:equals(),notify(),notifyAll(),wait()
wait()在其他線程調用此對象的 notify() 方法或 notifyAll() 方法前,導致當前線程等待。
notify() 喚醒在此對象監視器上等待的單個線程。
notifyAll() 喚醒在此對象監視器上等待的所有線程。

java.lang.Thread從java.lang.Object繼承,有sleep()這個方法

在指定的毫秒數內讓當前正在執行的線程休眠(暫停執行),此操作受到系統計時器和調度程序精度和準確性的影響。


sleep方法(只釋放CPU,不釋放鎖)
佔用CPU

wait方法(釋放CPU和鎖)
不佔用CPU

sleep(100)在100毫秒後肯定會運行,但wait在100毫秒後還有等待os調用分配資源,所以wait100的停止運行時間是不確定的,但至少是100毫秒。



發佈了73 篇原創文章 · 獲贊 11 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章