java的sleep和wait的區(qū)別 sleep與wait區(qū)別?
sleep與wait區(qū)別?線程睡眠和等待之間的區(qū)別:1。這兩個方法來自不同的類,即thread和object2。最重要的是sleep方法不會釋放鎖,而wait方法會釋放鎖,這樣其他線程就可以使用同步控
sleep與wait區(qū)別?
線程睡眠和等待之間的區(qū)別:1。這兩個方法來自不同的類,即thread和object2。最重要的是sleep方法不會釋放鎖,而wait方法會釋放鎖,這樣其他線程就可以使用同步控制塊或方法。三。Wait、notify和notifyAll只能在同步控制方法或同步控制塊中使用,而sleep可以在任何地方使用(使用范圍)。4Sleep必須捕獲異常,而wait、notify和notifyAll不需要捕獲異常。5Sleep是線程類的靜態(tài)方法。sleep的功能是讓線程在指定的時間睡眠,并在時間到達時恢復(fù)。也就是說,當(dāng)時間到達時,sleep將恢復(fù)線程執(zhí)行。Wait是object的方法,也就是說,可以對任何對象調(diào)用Wait方法。調(diào)用wait方法將掛起調(diào)用方的線程,直到其他線程調(diào)用同一對象的notify方法。
Thread wait和sleep的區(qū)別?
睡眠和等待的區(qū)別如下:
1。這兩個方法來自不同的類,即thread和object
2。最重要的是sleep方法不會釋放鎖,而wait方法會釋放鎖,這樣其他線程就可以使用同步控制塊或方法。
3. Wait、notify和notifyAll只能在同步控制方法或同步控制塊中使用,而sleep可以在任何地方使用
synchronized(x){
x.notify()]//或Wait()
]4。Sleep必須捕獲異常,而wait、notify和notifyAll不需要捕獲異常
關(guān)于Sleep()和wait(),下面的錯誤是()a Sleep是線程類的方法,wait是對象類的方法;B.Sleep不釋放對象鎖,wait放棄對象鎖;C.Sleep暫停線程,但監(jiān)視狀態(tài)保持不變,結(jié)束后自動恢復(fù);D.等待后,進入等待鎖池,只有對對象發(fā)出notify方法后,才獲得對象鎖,進入運行狀態(tài)。答:dsleep是thread類的一個方法,它使線程在指定的時間內(nèi)暫停執(zhí)行,給其他線程執(zhí)行的機會,但監(jiān)視狀態(tài)保持不變,并在該時間后自動恢復(fù)。調(diào)用sleep不會釋放對象鎖。只有使用此方法鎖定對象時,線程才會進入鎖定池狀態(tài)。