1、sleep方法是Thread類的靜態方法;
wait方法是Object類的成員方法
2、sleep方法使當前線程暫停執行指定的時間,讓出cpu給其他線程,但是它的監控狀態依然保持着,當指定的時間到了又會自動恢復運行狀態。在調用sleep方法后,線程不會釋放對象鎖;
而當調用wait方法時,線程會放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象調用notify()方法后本線程才進入對象鎖定池處於准備狀態。
3、sleep方法有可能會拋出異常,所以需要進行異常處理;
wait方法不需要處理
4、sleep方法可以在任何地方使用;
wait方法只能在同步方法和同步代碼塊中使用
Java中線程的生命周期圖譜如下所示:
---------------------
版權聲明:本文為CSDN博主「掌燈夜行」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/dao_wolf/article/details/81175089