Java線程休眠的方法有以下幾種:
使用Thread類的sleep方法:Thread.sleep(long millis)方法可以使當前線程休眠指定的毫秒數(shù)。該方法是靜態(tài)方法,可以通過Thread類直接調(diào)用。
使用TimeUnit類的sleep方法:TimeUnit類是Java 5中新增的一個枚舉類,其中提供了sleep方法可以使當前線程休眠指定的時間單元。例如,TimeUnit.SECONDS.sleep(1)可以使當前線程休眠1秒。
使用Object類的wait方法:Object類的wait方法可以使當前線程進入等待狀態(tài),直到其他線程調(diào)用該對象的notify或notifyAll方法喚醒該線程。wait方法必須在synchronized代碼塊或方法中調(diào)用。
使用Lock類的Condition對象的await方法:Condition是Lock接口中定義的一個方法,它可以使當前線程進入等待狀態(tài),直到其他線程調(diào)用該Condition對象的signal或signalAll方法喚醒該線程。
需要注意的是,線程休眠不一定會精確地休眠指定的時間,因為系統(tǒng)調(diào)度的精度和操作系統(tǒng)的工作負載等因素都會影響實際休眠時間。