sleep和wait 方法的區別

2021-08-19 02:50:35 字數 533 閱讀 7762

最近學習多執行緒時了解到sleep和wait的區別,特記錄如下

sleep 和 wait 方法的區別:

1.sleep是thread的方法,wait是object的方法

2.sleep不會釋放鎖,wait會釋放鎖,並且加入到等候佇列

3.sleep依賴鎖,而wait必須定義鎖

4.sleep不需要喚醒,而wait需要喚醒(通過notify或notifyall進行喚醒),wait(10)這種除外

事例如下:

public class differenceofwaitandsleep 

}.start());}

/*** 便於演示sleep,不釋放鎖

*/public static void m1() catch (interruptedexception e) }}

/*** 演示wait

*/public static void m2() catch (interruptedexception e) }}

}

sleep()和wait 方法的區別

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

sleep和wait方法的區別

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

sleep和wait的區別

關鍵字 sleep wait 1 這兩個方法來自不同的類分別是thread和object 2 最主要是sleep方法沒有釋放鎖,而wait方法釋放了鎖,使得其他執行緒可以使用同步控制塊或者方法。3 wait,notify和notifyall只能在同步控制方法或者同步控制塊裡面使用,而sleep可以在...