java多线程---顺序打印ABC的三种实现---join方法

来源:互联网 发布:python标准输入输出 编辑:程序博客网 时间:2024/05/22 12:48

使用join方法,让三个线程之间存在等待关系

代码如下:

package com.zcj.join;public class JoinTest {    public static void main(String[] args) {ThreadA threadA = new ThreadA();ThreadB threadB = new ThreadB(threadA);ThreadC threadC = new ThreadC(threadB);threadA.start();threadB.start();threadC.start();    }}class ThreadA extends Thread{@Overridepublic void run() {// TODO Auto-generated method stubSystem.out.println("A");}}class ThreadB extends Thread{ private ThreadA threadA;   public ThreadB(ThreadA threadA){   this.threadA =threadA;   }@Overridepublic void run() {// TODO Auto-generated method stubtry {threadA.join();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("B");}}class ThreadC extends Thread{   private ThreadB threadB;   public ThreadC(ThreadB threadB){   this.threadB =threadB;   }@Overridepublic void run() {// TODO Auto-generated method stubtry {threadB.join();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("C");}}
运行结果:

ABC



0 0