线程的join方法的作用是什么?
等待该线程终止。
相当于等待该线程执行完,才去继续执行,和同步顺序执行差不多。
为什么需要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方法的作用是什么?相关推荐
- java线程中join方法的简单讲解
一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并发执行变为串行执行.具体看代码: public class Test {public static void main ...
- join()方法的作用
让调用该方法的线程在执行完run()方法后,再执行join()方法后面的代码. 即,将两个线程合并,实现同步的功能.具体,可以通过线程A的join()方法来等待线程A的结束,或者使用线程A的join( ...
- 线程状态以及sleep yield wait join方法
前言 在日常的开发过程中,我们通过会使用Thread.sleep模拟一个耗时的任务执行过程. 在深入理解这四个方法之前,首先对线程的状态进行理解阐述. 线程概念 线程是操作系统执行任务的基本单位,处理 ...
- python线程join方法
前言: join方法的作用是同步线程. 1.不使用join方法: 当设置多个线程时,在一般情况下(无守护线程,setDeamon=False),多个线程同时启动,主线程执行完,会等待其他子线程执行完, ...
- java线程join方法
java线程join方法 1.join方法 join方法的作用是进行线程插队,也就是说调用了join方法的线程相对于调用它的上级线程拥有跟高的执行权.调用join方法的线程的上级线程必须等待调用j ...
- java暂停的方法_Java使用join方法暂停当前线程
目标线程的join方法暂停当前线程,直到目前线程完成(从run()方法返回),供大家参考,具体内容如下 Java代码: package Threads; import java.io.IOExcept ...
- 为什么重新new两个线程线程号相同_面试官每次问我关于线程间通信方法,我都回答的很糟糕...
线程的生命周期 废话不多写.首先我们先回顾回顾,理解下线程的生命周期,以及不同的阶段的区别: 新建状态(NEW) 当程序使用new关键字创建了一个线程之后,该线程就处于新建状态,此时仅由JVM为其分配 ...
- java多线程中的join方法详解
java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...
- java并发编程之thread.join()方法详解
thread.join()方法的作用:保证线程的执行结果的可见性.原理是通过阻塞主线程实现的. 代码Demo如下: public class ThreadJoinDemo {public static ...
最新文章
- 修改 Docker 的默认存储路径
- ospf cost 引起路由可以ping通但应用无法连接_路由算法(通网五)
- activiti 5.15.1 动态手动通过java编码方式,实现创建用户任务,动态指定个人,用户组,角色,指定监听的实现...
- mac word维吾尔文字体_字加软件更新啦!万款字体一键激活!
- Java基础知识回顾之七 ----- 总结篇
- react-navigation 跨 tabs 返回首页
- Autofac 之 基于 Castle DynamicProxy2 的 Interceptor 功能
- oracle索引的监控
- 网络编程之-----------进程
- 根据文件名 kill 进程
- 关于instanceof、isinstance和isAssignableFrom的区别
- html5在线点餐系统源码,Web点餐系统(前端开发)
- PreparedStatement类详解以及案例
- 沃尔玛经典营销案例:啤酒与尿布
- matlab 双均线,双均线策略(CTA)
- 免费邮箱不都是安全的
- 北大计算机专业考研难不难,北京大学考研有多难 难考的原因是什么
- 燃烧的远征_从菜鸟通往java世界的修炼之路
- 跟小甲鱼学Web开发笔记06(最新进展不按进度顺序)
- 【HEC-RAS】02 软件下载及安装