sleep方法和wait方法異同點

2021-10-01 13:18:37 字數 367 閱讀 1058

相同點

一旦執行了上述方法,都能夠讓執行緒進入阻塞狀態

二個方法都需要進行異常捕獲

不同點

sleep是thread類中的方法,wait是object類中的方法

thread可以在任何場景下呼叫,wait方法只能在同步**塊或者同步方法中使用

如果二個方法都使用在同步**塊中,那麼sleep不會釋放同步鎖,而且wait方法會釋放同步鎖

sleep的狀態是拿到了cpu只不過是暫時的休眠,當sleep的時間過去,就會在次搶奪cpu執行,而且wait是放棄了cpu的執行權,此方法必須要等待其他執行緒的喚醒( 使用notify 或者 notifyall 方法)

sleep()和wait 方法的區別

1 這兩個方法來自不同的類分別是,sleep來自thread類,和wait來自object類。sleep是thread的靜態類方法,誰呼叫的誰去睡覺,即使在a執行緒裡呼叫了b的sleep方法,實際上還是a去睡覺,要讓b執行緒睡覺要在b的 中呼叫sleep。2 最主要是sleep方法沒有釋放鎖,而wa...

sleep和wait 方法的區別

最近學習多執行緒時了解到sleep和wait的區別,特記錄如下 sleep 和 wait 方法的區別 1.sleep是thread的方法,wait是object的方法 2.sleep不會釋放鎖,wait會釋放鎖,並且加入到等候佇列 3.sleep依賴鎖,而wait必須定義鎖 4.sleep不需要喚醒...

sleep和wait方法的區別

color red sleep和wait的區別 color color red 1 color 這兩個方法來自不同的類分別是,color blue sleep來自thread類,和wait來自object類 color sleep是thread的靜態類方法,誰呼叫的誰去睡覺,即使在a執行緒裡呼叫了b...