等待時間單位不同:Thread.sleep
是Thread
類的靜態方法,參數是以毫秒為單位的等待時間;wait
是Object
類的實例方法,參數是以毫秒為單位的等待時間。
使用對象:Thread.sleep
用于使當前線程暫停執行一段時間,不釋放對象鎖;wait
用于使當前線程等待直到其他線程調用notify()
或notifyAll()
方法喚醒它,同時釋放對象鎖。
鎖的釋放:Thread.sleep
不需要持有對象鎖;wait
方法需要在同步代碼塊或同步方法中調用,調用后會釋放對象鎖。
異常拋出:Thread.sleep
方法不會拋出異常;wait
方法會拋出InterruptedException
異常。