sleep與wait的去區別?

2021-08-28 11:29:00 字數 301 閱讀 6732

1,**不同

兩個方法根本來自不同的類,sleep來自thread,wait來自object類。sleep是thread提供的乙個靜態方法

2,呼叫sleep方法的執行緒不會釋放物件鎖,而呼叫wait() 方法會釋放物件鎖

sleep是不讓出系統資源的;wait是執行緒互動時,如果執行緒a對乙個同步物件x發出乙個wait

呼叫該執行緒會進入執行緒等待池等待,需要等其他執行緒呼叫notify/notifyall喚醒,或者指定的時間過後

自動喚醒。

3,  **表現上sleep必須捕獲異常,而wait不需捕獲異常。

sleep與wait的區別

sleep與wait的區別 1.都是執行緒狀態切換的操作 2.sleep一定時間後會自動喚醒,wait則需要手動notify或notifyall 3.sleep不會釋放物件鎖,thread方法 wait會放棄物件鎖,是object方法,執行後會進入等待物件鎖池的佇列中 4.notify並不會釋放鎖,...

sleep與wait的區別

sleep 就是正在執行的執行緒主動讓出 cpu,cpu 去執行其他執行緒,在 sleep 指定的時間過後,cpu 才會回到這個執行緒上繼續往下執行,如果當前執行緒進入了同步鎖,sleep 方法並不會釋 放鎖,即使當前執行緒使用 sleep 方法讓出了 cpu,但其他被同步鎖擋住了的執行緒也無 法得...

sleep()與wait()的區別

sleep,wait如例子 店 public class 店 消費麵包 public void take public boolean isempety public boolean isfull 生產者 public class 生產者 implements runnable override p...