sleep和wait可以響應中斷

2022-07-16 01:57:11 字數 725 閱讀 8005

sleep與wait區別:

1.sleep方法是執行緒靜態方法,wait方法是object物件方法;

2.sleep使執行緒休眠,不會釋放鎖;wait方法是在獲取鎖情況下進行等待的,等待時會釋放鎖;

3.都可以響應中斷。

public

class

test

catch

(interruptedexception e)

});t.start();

system.out.println("中斷休眠");

t.interrupt();

try

catch

(interruptedexception e)

//wait測試

system.out.println("-----------wait---------");

thread t1 = new thread(() ->

catch

(interruptedexception e)

}});

t1.start();

system.out.println("中斷wait");

t1.interrupt();

}}

輸出:

中斷休眠

休眠結束休眠2 0

-----------wait---------中斷wait

等待結束wait1 0

java中wait 和 sleep 區別

1,wait可以指定時間也可以不指定。sleep必須指定時間。2,在同步中時,對cpu的執行權和鎖的處理不同。wait 釋放執行權,釋放鎖。sleep 釋放執行權,不釋放鎖。public class test1 class mythread extends thread override publi...

Java中wait和sleep區別

super類不同 對於sleep 方法是屬於thread類,而wait 方法,則是屬於object類。是否釋放執行緒鎖 在呼叫sleep 方法的過程中,執行緒不會釋放物件鎖。而當呼叫wait 方法的時候,執行緒會放棄物件鎖,進入等待此物件的等待鎖定池,只有針對此物件呼叫notify 方法後本執行緒才...

關於JAVA中sleep和wait

腦殼疼,今天傍晚看到sleep和wait時,頭腦中的概念也的確是模糊不清,然後又是一頓搜尋,明白了不少。1.sleep 是屬於thread類,而wait是屬於object類的且必須和notify或notifyall 一起搭配使用。sleep是執行緒控制自身的流程,而wait則屬於執行緒間通訊。該執行...