1. 程式人生 > >白話理解java多執行緒中join()方法

白話理解java多執行緒中join()方法

join字面意思是加入,我理解為插隊.

舉例:媽媽在炒菜,發現沒喲醬油了,讓兒子去打醬油,兒子打完醬油,媽媽炒完菜,全家一起吃

package cn.yh.thread01;
/**
 * 
 * 打醬油的例子
 */
public class Demo03 {
	public static void main(String[] args) {
		Mum mum = new Mum();
		mum.start();
	}
}
class Mum extends Thread{
	@Override
	public void run() {
		System.out.println("老媽洗菜");
		System.out.println("老媽切菜");
		System.out.println("老媽開始炒菜");
		System.out.println("老媽沒有醬油了");
		System.out.println("老媽讓兒子去打醬油");
		Son son = new Son();
		son.start();
		try {
			son.join();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("老媽炒好了");
		System.out.println("全家人一起吃飯");
	}
}

class Son extends Thread{
	@Override
	public void run() {
		System.out.println("兒子下樓");
		try {
			Thread.sleep(100);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("兒子買完醬油了");
		System.out.println("兒子把醬油交給媽媽");
	}
}

注意:join方法,在start()方法之後執行.