用观查者模式传递线程状态
场景,某action把任务分配给N个线程,当线程完成后通知action,action返回。
?
package com.koubei.Observable;import java.util.Observable;import java.util.Observer;public class Action implements Observer{ private int count; public String execute() throws InterruptedException{ new Thread(new MadeCardThread(10,this)).start(); new Thread(new MadeCardThread(10,this)).start(); new Thread(new MadeCardThread(10,this)).start(); new Thread(new MadeCardThread(10,this)).start(); while(count != 40){ Thread.sleep(1000); } System.out.println("========= end ========="); return "success"; } public void update(Observable o, Object arg) { // TODO Auto-generated method stub if(arg instanceof Integer){ count = count + (Integer)arg; } } public static void main(String[] args) throws InterruptedException { (new Action()).execute(); }}class MadeCardThread extends Observable implements Runnable { private int count; public MadeCardThread(int count,Observer observer){ this.addObserver(observer); this.count = count; } public void run() { // TODO Auto-generated method stub for(int i=0; i<count; i++){ System.out.println(Thread.currentThread().getId() + " : " + i); } this.setChanged(); this.notifyObservers(count); } }?