java筆記之wait和notify的深入理解

2021-08-19 21:08:39 字數 690 閱讀 3172

package com.lyzx.concurrent.lock;

/** * 測試wait和notify的筆記,在看讀寫鎖原始碼時的感想,

* 當很多執行緒在乙個物件上等待時,呼叫該物件的notifyall方法

* 這是所有在這個物件上等待的執行緒都會被"喚醒",注意這裡的喚醒不是指

* 立即執行,而是進入了可執行佇列等待獲取鎖,此時,呼叫notifyall()的方法出了

* 方法體後就釋放了鎖,這個時候很多等待的執行緒開始爭搶這個鎖,當爭搶到就執行自己的**,

* 執行完後放棄鎖由其他等待執行緒爭搶鎖並執行,注意這個過程各個等待執行緒是互斥的

Java之sleep和wait的區別

這個問題在面試執行緒方面的知識時,基本上屬於必問的問題。因此這裡有必要做乙個較為詳細的總結。首先需要明白的是這兩個方法根本來自不同的類,sleep來自thread,wait來自object類。sleep是thread提供的乙個靜態方法,該方法出現在那個執行緒中,那個執行緒就 睡覺 並非是 呼叫該方法...

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 方法後本執行緒才...