等待该线程终止。
相当于等待该线程执行完,才去继续执行,和同步顺序执行差不多。

为什么需要join方法?
举个例子,现在有 A, B, C 三件事情,只有做完 A 和 B 才能去做 C,而 A 和 B 可以并行完成。

参考代码: JoinThreadTest

/*** 存在两个线程:主线程和线程tJoin,这里所说的调用方就是主线程,主线程调用线程t的Join方法,导致主线程阻塞,直到t线程执行完毕,才返回到主线程中。简单理解,在主线程中调用t.Join(),也就是在主线程中加入了t线程的代码,必须让t线程执行完毕之后,主线程(调用方)才能正常执行。**/
public class JoinThreadTest {public static void main(String[] args) throws InterruptedException {Thread t = new Thread(){@Overridepublic void run() {for(int i =0;i<100;i++){System.out.println("a:" + i);}}};t.start();bmethod();// 注意观察执行顺序t.join();cmethod();}public static void bmethod(){System.out.println(":bmethod:");}public static void cmethod(){System.out.println(":cmethod:");}}

线程的join方法的作用是什么?相关推荐

  1. java线程中join方法的简单讲解

    一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并发执行变为串行执行.具体看代码: public class Test {public static void main ...

  2. join()方法的作用

    让调用该方法的线程在执行完run()方法后,再执行join()方法后面的代码. 即,将两个线程合并,实现同步的功能.具体,可以通过线程A的join()方法来等待线程A的结束,或者使用线程A的join( ...

  3. 线程状态以及sleep yield wait join方法

    前言 在日常的开发过程中,我们通过会使用Thread.sleep模拟一个耗时的任务执行过程. 在深入理解这四个方法之前,首先对线程的状态进行理解阐述. 线程概念 线程是操作系统执行任务的基本单位,处理 ...

  4. python线程join方法

    前言: join方法的作用是同步线程. 1.不使用join方法: 当设置多个线程时,在一般情况下(无守护线程,setDeamon=False),多个线程同时启动,主线程执行完,会等待其他子线程执行完, ...

  5. java线程join方法

    java线程join方法 1.join方法 ​ join方法的作用是进行线程插队,也就是说调用了join方法的线程相对于调用它的上级线程拥有跟高的执行权.调用join方法的线程的上级线程必须等待调用j ...

  6. java暂停的方法_Java使用join方法暂停当前线程

    目标线程的join方法暂停当前线程,直到目前线程完成(从run()方法返回),供大家参考,具体内容如下 Java代码: package Threads; import java.io.IOExcept ...

  7. 为什么重新new两个线程线程号相同_面试官每次问我关于线程间通信方法,我都回答的很糟糕...

    线程的生命周期 废话不多写.首先我们先回顾回顾,理解下线程的生命周期,以及不同的阶段的区别: 新建状态(NEW) 当程序使用new关键字创建了一个线程之后,该线程就处于新建状态,此时仅由JVM为其分配 ...

  8. java多线程中的join方法详解

    java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...

  9. java并发编程之thread.join()方法详解

    thread.join()方法的作用:保证线程的执行结果的可见性.原理是通过阻塞主线程实现的. 代码Demo如下: public class ThreadJoinDemo {public static ...

最新文章

  1. 修改 Docker 的默认存储路径
  2. ospf cost 引起路由可以ping通但应用无法连接_路由算法(通网五)
  3. activiti 5.15.1 动态手动通过java编码方式,实现创建用户任务,动态指定个人,用户组,角色,指定监听的实现...
  4. mac word维吾尔文字体_字加软件更新啦!万款字体一键激活!
  5. Java基础知识回顾之七 ----- 总结篇
  6. react-navigation 跨 tabs 返回首页
  7. Autofac 之 基于 Castle DynamicProxy2 的 Interceptor 功能
  8. oracle索引的监控
  9. 网络编程之-----------进程
  10. 根据文件名 kill 进程
  11. 关于instanceof、isinstance和isAssignableFrom的区别
  12. html5在线点餐系统源码,Web点餐系统(前端开发)
  13. PreparedStatement类详解以及案例
  14. 沃尔玛经典营销案例:啤酒与尿布
  15. matlab 双均线,双均线策略(CTA)
  16. 免费邮箱不都是安全的
  17. 北大计算机专业考研难不难,北京大学考研有多难 难考的原因是什么
  18. 燃烧的远征_从菜鸟通往java世界的修炼之路
  19. 跟小甲鱼学Web开发笔记06(最新进展不按进度顺序)
  20. 【HEC-RAS】02 软件下载及安装

热门文章

  1. 甲骨文的首批12个云区块链应用已投入使用
  2. 【Web信息处理】Web数据获取-ws01课-爬虫基本架构
  3. 美研究称留在手机上的分子痕迹可暴露个人信息
  4. MySQL--增删改查基本操作
  5. MySQL基础----动态SQL语句
  6. RPC框架详解(必看)
  7. laravel框架之中间件
  8. 女孩子转行软件测试还是ui,女生可以做软件测试吗?
  9. 获取汉字的首字母和全拼
  10. tomcat配置详解