线程Join

线程Join用法。线程Join,就会让其他线程等待当前线程运行完成之后。这样如果线程B,C需要线程A得结果。就可以让线程A Join。在使用线程池得情况下就使用CountDownLatch来代替。


package com.famous.thread.join;

public class ThreadJoinClient {
	public static void main(String[] args) {

		Thread before = new Thread(new BeforeClien("beforeClient"),
				"beforThread");
		Thread after = new Thread(new AfterClient("afterClient"), "afterThread");
		before.start();
		try {
			// 如果不加得话打印顺序就会交互在一起
			before.join();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		after.start();
	}
}

class BeforeClien implements Runnable {
	private String name;

	public BeforeClien(String name) {
		this.name = name;
	}

	@Override
	public void run() {
		String threadName = Thread.currentThread().getName();
		for (int i = 1; i < 11; i++) {
			System.err.println(i + threadName);
		}

	}
}

class AfterClient implements Runnable {
	private String name;

	public AfterClient(String name) {
		this.name = name;
	}

	@Override
	public void run() {
		String threadName = Thread.currentThread().getName();
		for (int i = 1; i < 11; i++) {
			System.err.println(i + threadName);
		}

	}
}


你可能感兴趣的:(线程Join)