1 /** 2 * 线程join方法 3 * 作用:类似于插队,让资源调度器优先调用自己,只有等自己执行完毕,才能执行其他线程 4 */ 5 public class JoinThread { 6 public static void main(String[] args) { 7 new Thread(new Man()).start(); 8 } 9 } 10 11 //老公 12 class Man extends Thread{ 13 @Override 14 public void run() { 15 System.out.println("想要吸烟,结果没烟了"); 16 System.out.println("让老婆去买"); 17 Thread woMan = new Thread(new WoMan()); 18 woMan.start(); 19 try { 20 woMan.join(); //谁调用,就优先执行谁 21 } catch (InterruptedException e) { 22 e.printStackTrace(); 23 System.out.println("老婆把钱都买化妆品了"); 24 } 25 System.out.println("老婆把烟买回来了,把剩下的钱都给老婆吧"); 26 } 27 } 28 29 //老婆 30 class WoMan extends Thread{ 31 @Override 32 public void run() { 33 System.out.println("老公给了钱去买烟了"); 34 System.out.println("商店有卖化妆品的,看看去"); 35 System.out.println("买到烟了"); 36 } 37 }
结果:
想要吸烟,结果没烟了
让老婆去买
老公给了钱去买烟了
商店有卖化妆品的,看看去
买到烟了
老婆把烟买回来了,把剩下的钱都给老婆吧
原文:https://www.cnblogs.com/zhang741741/p/13266386.html