java 多线程-join插队
2019-08-12 16:01
976 查看
join
合并线程,插队线程,将此线程执行完成后,再执行其他线程,其他线程阻塞
join是一个成员方法,必须通过Thread对象调用
public class n { public static void main(String[]args) throws InterruptedException { Thread t =new Thread(()-> { for(int i=0;i<5;i++) { System.out.println("a"+i); } }); t.start(); for(int i=0;i<5;i++) { if(i%2==0) { t.join();//插队,此时main主线程被阻塞,插队线程执行完所有步骤再执行main } System.out.println("b"+i); } } }
例二:
public class n { public static void main(String[]args) throws InterruptedException { new Thread(new father()).start(); } } class father extends Thread{ public void run() { System.out.println("想抽象,发现没了"); System.out.println("让儿子买中华"); Thread t=new Thread(new son()); t.start(); //不行,各走各的逻辑错误,再加入join先执行完son,再执行father剩下的 try { t.join(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("接过烟"); } } class son extends Thread{ public void run() { System.out.println("拿钱"); System.out.println("路边玩10秒"); for(int i=0;i<10;i++) { System.out.println(i+"秒过去了"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println("去买烟"); System.out.println("回家"); } }
相关文章推荐
- java多线程总结三:sleep()、join()、interrupt()示例
- java多线程之并行框架ForkJoin
- Java对多线程~~~Fork/Join同步和异步帧
- java多线程应用中常用的sleep、yield、join、wait、notify、notifyAll方法介绍
- java基本教程之join方法详解 java多线程教程
- Java多线程学习 (二) Thread的join()方法
- 多线程(11)-Fork/Join-Java并行计算框架
- Java多线程(join方法)
- Java多线程 -- JUC包源码分析19 -- ForkJoinPool/ForkJoinTask
- java多线程 中的join方法
- Java多线程____线程状态Join()方法
- 【十八掌●基本功篇】第一掌:Java之多线程--2-join、同步、死锁、等待
- Java 多线程(四)强制运行Join
- Java多线程的join和interrupt方法
- Java多线程系列--“基础篇”08之 join()
- Java 多线程中 Thread类 join方法的使用
- java多线程之并行框架ForkJoin
- Java—Java多线程中join方法的理解
- java多线程(3)-- join( )
- Java 多线程 join和interrupt 方法 (r)