多线程(九)jion实战demo

需求描述:现在有T1,T2,T3三个线程,你怎么样保证T2在T1执行完毕后执行,T2在T3执行完后执行

Demo如下(这里要注意的是在调用匿名内部类的时候在调用要用final修饰)

package com.zuojie;

/**
 * xu
 * 
 * @author zuojie
 *
 */

public class ThreadDemo07 {

	public static void main(String[] args) {
		final Thread t1 = new Thread(new Runnable() {

			public void run() {
				for (int i = 0; i < 20; i++) {
					System.out.println("T1,i:" + i);
				}
			}
		});
		t1.start();
		final Thread t2 = new Thread(new Runnable() {

			public void run() {
				try {
					t1.join();
				} catch (Exception e) {
					// TODO: handle exception
				}
				for (int i = 0; i < 20; i++) {
					try {
						Thread.sleep(30);
					} catch (Exception e) {
						// TODO: handle exception
					}
					System.out.println("T2,i:" + i);
				}
			}
		});

		t2.start();
		Thread t3 = new Thread(new Runnable() {

			public void run() {
				try {
					t2.join();
				} catch (Exception e) {
					// TODO: handle exception
				}
				for (int i = 0; i < 20; i++) {
					try {
						Thread.sleep(30);
					} catch (Exception e) {
						// TODO: handle exception
					}
					System.out.println("T3,i:" + i);
				}
			}
		});

		t3.start();
	}
}

运行结果如下

猜你喜欢

转载自blog.csdn.net/OnlyoneFrist/article/details/88630317