//應用
public
class
main catch (interruptedexception e)
system.out.println("結束,老闆開始檢查了!");
system.out.println("一共搬了"+cm.get("z")+"塊磚,大家辛苦了。");
executor.shutdown();
}}//物件
public
class
worker
implements
runnable
public
void
run() catch (interruptedexception ie) {}
integer wj = (integer)workedjobs.get("z");
int sum = (wj==null?0:wj);
workedjobs.put("z", sum +=jobs);
system.out.println("--------- "+ this.name + "活幹完了!");
this.downlatch.countdown();//通知我做完了
}private
void
dowork()
}
結果:
老闆正在監工……
李四 ,搬了5塊磚!
王二 ,搬了5塊磚!
張三 ,搬了7塊磚!
——— 王二活幹完了!
——— 李四活幹完了!
——— 張三活幹完了!
結束,老闆開始檢查了!
Java等待執行緒池終止
1 輪詢isterminated while service.isterminated 2 輪詢awaittermination while service.awaittermination 1,timeunit.seconds service表示執行緒池物件,當執行緒池終止時將自動跳出while迴...
java 多執行緒 等待喚醒機制
package thread執行緒 生產者消費者問題 問題1 為什麼要用while而不用if進行判斷 因為是多執行緒在操作同一資源,即有多個生產者也有多個消費者,如果用if進行判斷的話會出現生產者生產連續生產多次,而消費者只消費 消費一次,或生產者生產一次消費者消費多次的錯誤資訊,這是為什麼呢?原因...
java多執行緒等待喚醒機制
等待喚醒機制 object類中提供了三個方法 wait 等待 notify 喚醒單個執行緒 notifyall 喚醒所有執行緒 為什麼這些方法不定義在thread類而定義在object類中呢?這些方法的呼叫必須通過鎖物件呼叫,而我們使用的鎖物件是任意鎖物件。所以,這些方法必須定義在object類中。...