多线程中join()的用法
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()的用法相关推荐
- python如何使用多线程_Python多线程与多线程中join()的用法
Python多线程与多进程中join()方法的效果是相同的. 下面仅以多线程为例: 首先需要明确几个概念: 知识点一: 当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置 ...
- C#多线程中lock的用法
最近在看些c#的代码,发现很多是以前没有接触到了,只能上网查,把比较好的整理下来. 经常碰到同时需要对某个数据进行操作,或者对某个文件进行读写操作,对于这些操作我们以前往往不能很好的进行处理,自从C# ...
- 【python教程】对多线程中join()的详细教程
在 Python 的多线程编程中,经常碰到 thread.join()这样的代码.那么今天咱们用实际代码来解释一下 join 函数的作用. 一. 当一个进程启动之后,会默认产生一个主线程,因为线程是程 ...
- full join 和full outer join_带你了解数据库中JOIN的用法
前言 欢迎关注公众号:Coder编程 获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识! 本章主要介绍数据库中Join的的用法,也是我们在使用数据库时非常基础的一个知识点.本次会介绍数据库 ...
- python多线程中join()的理解
在 Python 的多线程编程中,经常碰到 thread.join()这样的代码.那么今天咱们用实际代码来解释一下 join 函数的作用. 第一,当一个进程启动之后,会默认产生一个主线程,因为线程是程 ...
- SQL语句中JOIN的用法
记录:257 写SQL最高境界:SELECT * FROM 表名.当然这是一句自嘲.探究一下SQL语句中JOIN的用法,直到经历这个场景,变得想验证一下究竟. 一.场景 把关系型数据库A中表TEST_ ...
- 多线程中Condition的用法
多线程中Condition的用法与Object中wait.notify.notifyAll用法非常的相似 Condition与Lock对象搭配完成等待唤醒机制 首先我们需要创建Condition对象 ...
- JAVA多线程中join()方法的详细分析
虽然关于讨论线程join()方法的博客已经非常极其特别多了,但是前几天我有一个困惑却没有能够得到详细解释,就是当系统中正在运行多个线程时,join()到底是暂停了哪些线程,大部分博客给的例子看起来都像 ...
- 61_有关多线程中join方法详解
Java中join()方法的理解 thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程. 比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后, ...
最新文章
- 单目摄像头检测6D姿态
- 大牛深入讲解!java从入门到项目实战
- BZOJ2091 [Poi2010]The Minima Game
- 关于我国科技创新研究,以及创新成果的转化的思考
- 【IOS】集成zxing(二维码扫描)
- 1982:【19CSPJ普及组】数字游戏 scratch C++
- Java将数组(Array)用固定分隔符拼接成字符串(String)
- matlab2010b数值分析,matlab2010b教程
- 开了一个月yunfile的会员,发现没东西可下,做了个软件分享下
- 今日头条笔试8/23第二题
- 免费电子书下载网站汇总
- 水星如何设置虚拟机服务器,水星mercury路由器电脑怎么设置?
- POI根据模板导出word文件,以及word转PDF,PDF转图片再插入PDF中(防止PDF被修改)
- 算法之狄克斯特拉算法
- 使用python计算水仙花数
- 【算法】几分钟时间让你彻底学会—时间复杂度
- Jquery Magnify Plugin 放大鏡效果 One
- 老猿学5G扫盲贴:中移动的5G计费架构中Nchf'服务化接口以及CHF中的AGF
- hashmap 不释放空间_一个1000万HashMap,会占用多少空间内存?
- 如何理解升米恩、斗米仇?
热门文章
- sql xml 入门
- EL表达式和标准标签库
- Cocos2d-X中的ZORDER和Tag
- Oracle数据库的视图
- Linux基础知识part3
- MVC5中EF6 Code First启动慢及间隙变慢的一些优化处理
- Foudation框架常用结构体和常用类
- ROW_NUMBER、RANK、DENSE_RANK的用法
- ERROR 1045 (28000): Access denied for user root@localhost (using password:
- 自动判断浏览器的中英文版本自动跳转网站中英文页面代码