/* 線程間通訊: 其實就是多個線程在操做同一個資源。 可是操做的動做不一樣 */ class Res { String name; String sex; } class Input implements Runnable { private Res r; Input(Res r) { this.r = r; } public void run() { int x = 0; while(true) { if(x==0) { r.name = "mike"; r.sex = "man"; } else { r.name = "lili"; r.sex = "women"; } x=(x+1)%2; } } } class Output implements Runnable { private Res r; Output(Res r) { this.r = r; } public void run() { while(true) { System.out.println(r.name+"..."+r.sex); } } } class Test_12_1 { public static void main(String[] args) { System.out.println("Hello Wolrd"); Res r = new Res(); Input in = new Input(r); Output out = new Output(r); Thread t1 = new Thread(in); Thread t2 = new Thread(out); t1.start(); t2.start(); } }