Java線程中的notifyAll喚醒操作(推薦)
注意:
java中的notifyAll和notify都是喚醒線程的操作,notify只會喚醒等待池中的某一個線程,但是不確定是哪一個線程,notifyAll是針對指定對象里面的所有線程執(zhí)行喚醒操作,指定對象一旦喚醒成功。則會立即加入線程的資源爭奪中去。
例如:
package TestThread.ThreadSynchronized;
public class TestWaitAll {
public static void main(String[] args) {
Test1 test1 = new Test1();
Thread t = new Thread(test1, "線程1");
Thread t1 = new Thread(test1, "線程2");
Thread t2 = new Thread(test1, "線程3");
Test2 test2 = new Test2(test1, "喚醒線程");
t.start();
t1.start();
t2.start();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
test2.start();
}
}
class Test1 implements Runnable {
public void run() {
synchronized (this) {
try {
this.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + "當前沒有被執(zhí)行到!");
}
}
}
class Test2 extends Thread {
private Test1 test1;
String name;
public Test2(Test1 test1, String name) {
super(name);
this.name = name;
this.test1 = test1;
}
public void run() {
synchronized (test1) {
test1.notifyAll();// 針對當前對象執(zhí)行喚醒所有線程的操作
System.out.println(Thread.currentThread().getName() + ":喚醒線程執(zhí)行成功!");
}
}
}
執(zhí)行結(jié)果為:

以上所述是小編給大家介紹的Java線程中的notifyAll喚醒操作,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
基于java時區(qū)轉(zhuǎn)換夏令時的問題及解決方法
下面小編就為大家分享一篇基于java時區(qū)轉(zhuǎn)換夏令時的問題及解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-11-11
支付寶二面:使用?try-catch?捕獲異常會影響性能嗎(推薦)
這篇文章主要介紹了支付寶二面:使用?try-catch?捕獲異常會影響性能嗎,需要注意的是,JVM?中?異常處理的catch語句不再由字節(jié)碼指令來實現(xiàn)(很早之前通過?jsr和?ret指令來完成,需要的朋友可以參考下2023-03-03
Spring工廠方法創(chuàng)建(實例化)bean實例代碼
這篇文章主要介紹了Spring工廠方法創(chuàng)建bean實例代碼,具有一定借鑒價值,需要的朋友可以參考下2018-01-01
全網(wǎng)最精細詳解二叉樹,2萬字帶你進入算法領(lǐng)域
大家好,我是哪吒,一個熱愛編碼的Java工程師,本著"欲速則不達,欲達則欲速"的學習態(tài)度,在程序猿這條不歸路上不斷成長,所謂成長,不過是用時間慢慢擦亮你的眼睛,少時看重的,年長后卻視若鴻毛,少時看輕的,年長后卻視若泰山,成長之路,亦是漸漸放下執(zhí)念,內(nèi)心歸于平靜的旅程2021-08-08
深入剖析Java中的synchronized關(guān)鍵字
在 Java 程序中,我們可以利用 synchronized 關(guān)鍵字來對程序進行加鎖,它既可以用來聲明一個 synchronized 代碼塊,也可以直接標記靜態(tài)方法或者實例方法,本文就帶大家深入了解Java中的synchronized關(guān)鍵字,感興趣的同學可以參考閱讀2023-06-06
mybatis打印的sql日志不寫入到log文件的問題及解決
這篇文章主要介紹了mybatis打印的sql日志不寫入到log文件的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
用java實現(xiàn)在txt文本中寫數(shù)據(jù)和讀數(shù)據(jù)的方法
今天小編就為大家分享一篇用java實現(xiàn)在txt文本中寫數(shù)據(jù)和讀數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07

