交替打印奇数偶数
public class printEvenAndOdd { public static void main(String[] args) { Num num =new Num(); Thread even = new Thread(new printEven(num)); Thread odd = new Thread(new printOdd(num)); even.start(); odd.start(); } } class printEven implements Runnable { Num num; public printEven(Num num) { this.num = num; } public void run() { while (num.i < 100) { synchronized (num) { System.out.println(Thread.currentThread().getName() + "-->" + num.i++); num.notify(); try { if (num.i < 100) { num.wait(); } } catch (Exception e) { e.printStackTrace(); } } } } } class printOdd implements Runnable { Num num; public printOdd(Num num) { this.num = num; } public void run() { while (num.i < 100) { synchronized (num) { System.out.println(Thread.currentThread().getName() + "-->" + num.i++); num.notify(); try { if (num.i < 100) { num.wait(); } } catch (Exception e) { e.printStackTrace(); } } } } } class Num { int i =0; }