Thread中,join()方法的作用是调用线程等待该线程完成后,才能继续用下运行。

public class TestThread5 {public static void main(String[] args) throws InterruptedException {Runner0 run5 = new Runner0();Thread th5 = new Thread(run5);th5.start();th5.join();//join()方法用在此处是为了等待主线程结束后运行子线程for(int i=0;i<5;i++){System.out.println("子线程:"+i);}}
}class Runner0 implements Runnable{public void run(){for(int i=0;i<5;i++)System.out.println("主线程:"+i);}}

上述代码的运行结构如下所示:

当然,如果不使用join()方法

public class TestThread6{public static void main(String[] args) throws InterruptedException {Runner0 run5 = new Runner0();Thread th5 = new Thread(run5);th5.start();
//      th5.join();for(int i=0;i<4;i++){System.out.println("子线程:"+i);}}
}class Runner0 implements Runnable{public void run(){for(int i=0;i<4;i++)System.out.println("主线程:"+i);}}

如上代码注释掉jion()方法,

根据上面两个不同的代码,输出的不同,很容易就能理解join()方法。

转载于:https://www.cnblogs.com/xiangpeng/p/7656780.html

多线程中join()的用法相关推荐

  1. python如何使用多线程_Python多线程与多线程中join()的用法

    Python多线程与多进程中join()方法的效果是相同的. 下面仅以多线程为例: 首先需要明确几个概念: 知识点一: 当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置 ...

  2. C#多线程中lock的用法

    最近在看些c#的代码,发现很多是以前没有接触到了,只能上网查,把比较好的整理下来. 经常碰到同时需要对某个数据进行操作,或者对某个文件进行读写操作,对于这些操作我们以前往往不能很好的进行处理,自从C# ...

  3. 【python教程】对多线程中join()的详细教程

    在 Python 的多线程编程中,经常碰到 thread.join()这样的代码.那么今天咱们用实际代码来解释一下 join 函数的作用. 一. 当一个进程启动之后,会默认产生一个主线程,因为线程是程 ...

  4. full join 和full outer join_带你了解数据库中JOIN的用法

    前言 欢迎关注公众号:Coder编程 获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识! 本章主要介绍数据库中Join的的用法,也是我们在使用数据库时非常基础的一个知识点.本次会介绍数据库 ...

  5. python多线程中join()的理解

    在 Python 的多线程编程中,经常碰到 thread.join()这样的代码.那么今天咱们用实际代码来解释一下 join 函数的作用. 第一,当一个进程启动之后,会默认产生一个主线程,因为线程是程 ...

  6. SQL语句中JOIN的用法

    记录:257 写SQL最高境界:SELECT * FROM 表名.当然这是一句自嘲.探究一下SQL语句中JOIN的用法,直到经历这个场景,变得想验证一下究竟. 一.场景 把关系型数据库A中表TEST_ ...

  7. 多线程中Condition的用法

    多线程中Condition的用法与Object中wait.notify.notifyAll用法非常的相似 Condition与Lock对象搭配完成等待唤醒机制 首先我们需要创建Condition对象 ...

  8. JAVA多线程中join()方法的详细分析

    虽然关于讨论线程join()方法的博客已经非常极其特别多了,但是前几天我有一个困惑却没有能够得到详细解释,就是当系统中正在运行多个线程时,join()到底是暂停了哪些线程,大部分博客给的例子看起来都像 ...

  9. 61_有关多线程中join方法详解

    Java中join()方法的理解 thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程. 比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后, ...

最新文章

  1. 单目摄像头检测6D姿态
  2. 大牛深入讲解!java从入门到项目实战
  3. BZOJ2091 [Poi2010]The Minima Game
  4. 关于我国科技创新研究,以及创新成果的转化的思考
  5. 【IOS】集成zxing(二维码扫描)
  6. 1982:【19CSPJ普及组】数字游戏 scratch C++
  7. Java将数组(Array)用固定分隔符拼接成字符串(String)
  8. matlab2010b数值分析,matlab2010b教程
  9. 开了一个月yunfile的会员,发现没东西可下,做了个软件分享下
  10. 今日头条笔试8/23第二题
  11. 免费电子书下载网站汇总
  12. 水星如何设置虚拟机服务器,水星mercury路由器电脑怎么设置?
  13. POI根据模板导出word文件,以及word转PDF,PDF转图片再插入PDF中(防止PDF被修改)
  14. 算法之狄克斯特拉算法
  15. 使用python计算水仙花数
  16. 【算法】几分钟时间让你彻底学会—时间复杂度
  17. Jquery Magnify Plugin 放大鏡效果 One
  18. 老猿学5G扫盲贴:中移动的5G计费架构中Nchf'服务化接口以及CHF中的AGF
  19. hashmap 不释放空间_一个1000万HashMap,会占用多少空间内存?
  20. 如何理解升米恩、斗米仇?

热门文章

  1. sql xml 入门
  2. EL表达式和标准标签库
  3. Cocos2d-X中的ZORDER和Tag
  4. Oracle数据库的视图
  5. Linux基础知识part3
  6. MVC5中EF6 Code First启动慢及间隙变慢的一些优化处理
  7. Foudation框架常用结构体和常用类
  8. ROW_NUMBER、RANK、DENSE_RANK的用法
  9. ERROR 1045 (28000): Access denied for user root@localhost (using password:
  10. 自动判断浏览器的中英文版本自动跳转网站中英文页面代码