其他分享
首页 > 其他分享> > 三个线程按顺序执行-join实现

三个线程按顺序执行-join实现

作者:互联网

package com.example.demo.multithread;

class T1 extends Thread {
	public Thread t;

	public T1(Thread t) {
		this.t = t;
	}

	public void run() {
		try {
			if (t != null) {
				t.join();
			}
			System.out.println("a");
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

class T2 extends Thread {
	public Thread t;

	public T2(Thread t) {
		this.t = t;
	}

	public void run() {
		try {
			if (t != null) {
				t.join();
			}
			System.out.println("b");
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

class T3 extends Thread {
	public Thread t;

	public T3(Thread t) {
		this.t = t;
	}

	public void run() {
		try {
			if (t != null) {
				t.join();
			}
			System.out.println("c");
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

public class T {

	public static void main(String[] args) throws InterruptedException {

		Thread t1 = new T1(null);
		Thread t2 = new T2(t1);
		Thread t3 = new T3(t2);		
		
		t2.start();
		t1.start();	
		t3.start();

	}

}

标签:顺序,join,Thread,void,InterruptedException,线程,catch,null,public
来源: https://blog.csdn.net/u011183517/article/details/121483403