Java多线程通信:交替打印ABAB实例-创新互联
使用wait()和notify()实现Java多线程通信:两个线程交替打印A和B,如ABABAB
public class Test { public static void main(String[] args) { final PrintAB print = new PrintAB(); new Thread(new Runnable() { public void run(){ for(int i=0;i<5;i++) { print.printA(); } } }).start(); new Thread(new Runnable() { public void run() { for(int i=0;i<5;i++) { print.printB(); } } }).start(); } } class PrintAB{ private boolean flag = true; public synchronized void printA () { while(!flag) { try { this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.print("A"); flag = false; this.notify(); } public synchronized void printB () { while(flag) { try { this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.print("B"); flag = true; this.notify(); } }
当前题目:Java多线程通信:交替打印ABAB实例-创新互联
标题网址:http://jxruijie.cn/article/cosejd.html