白話理解java多執行緒中join()方法
阿新 • • 發佈:2018-12-18
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()方法之後執行.