Java多线程通信:交替打印ABAB实例-创新互联

使用wait()和notify()实现Java多线程通信:两个线程交替打印A和B,如ABABAB

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比阳新网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式阳新网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖阳新地区。费用合理售后完善,10多年实体公司更值得信赖。
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://scyanting.com/article/cosejd.html