多线程(七)~join方法的使用
作用:join()方法的作用是等待线程对象销毁。
package com.wang.myjoin;publicclassThreadAextendsThread{privateThreadB threadB;publicThreadA(ThreadB threadB){this.threadB = threadB;}@Overridepublicvoid run(){synchronized(threadB){threadB.start();try{threadB.join();}catch(InterruptedException e1){e1.printStackTrace();}for(int i =0;i<10000;i++){System.out.println("b do sth....");}}}}
package com.wang.myjoin;publicclassThreadBextendsThread{@Overridepublicvoid run(){System.out.println("B thread is run.");try{Thread.sleep(2000);}catch(InterruptedException e){e.printStackTrace();}System.out.println("B thread is over.");}publicsynchronizedvoid myService(){for(int i =0;i<100;i++){System.out.println("myService do sth."+ i);}}}
package com.wang.myjoin;publicclassThreadCextendsThread{privateThreadB threadB;publicThreadC(ThreadB threadB){this.threadB = threadB;}@Overridepublicvoid run(){threadB.myService();}}
package com.wang.myjoin;publicclassJoinTest{publicstaticvoid main(String[] args){ThreadB threadB =newThreadB();ThreadA threadA =newThreadA(threadB);threadA.start();ThreadC threadC =newThreadC(threadB);threadC.start();System.out.println("~~~我来测试一下~~~~");}}
B thread is run.~~~我来测试一下~~~~myService do sth.0myService do sth.1myService do sth.2...myService do sth.99B thread is over.b do sth....b do sth.......
多线程(七)~join方法的使用的更多相关文章
- 转载:Java多线程中join方法的理解
转载自:http://uule.iteye.com/blog/1101994 thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A ...
- Java多线程中join方法详解
join()方法用于让当前执行线程等待join线程执行结束.其实现原理是不停的检查join线程是否存活,如果join线程存活则让当前线程永远等待. join()方法部分实现细节 while(isAli ...
- Java多线程中join方法的理解
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B. t.join( ...
- 多线程--Thread.join方法
在Thread类的Api中,Join的作用是让当前线程等待目标线程结束之后才继续执行. thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程. 比如在线程B ...
- [javaSE] 多线程(join方法)
多条线程并发执行,随机切换,调用join()方法,会使当前线程所在的线程(一般主线程)冻结,直到当前线程结束,所在的线程才恢复继续执行 class JoinTestDemo implements Ru ...
- 并发编程之多线程基础-join方法及优先级(五)
join()方法作用 当在主线程当中执行到t1.join()方法时,就认为主线程应该把执行权让给t1 优先级 现代操作系统基本采用时分的形式调度运行的线程,线程分配得到的时间片的多少决定了线程使用处理 ...
- Java多线程学习——join方法的使用
join在线程里面意味着“插队”,哪个线程调用join代表哪个线程插队先执行——但是插谁的队是有讲究了,不是说你可以插到队头去做第一个吃螃蟹的人,而是插到在当前运行线程的前面,比如系统目前运行线程A, ...
- 多线程中join方法的含义
1.作用:调用这个方法的时候,主进程会在这里停住,等待该线程进行完毕再继续往下执行. 如:不使用join的情况: <?php class Join extends Thread { public ...
- Java多线程-join方法
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B. 具体例子看链接 ...
- “全栈2019”Java多线程第七章:等待线程死亡join()方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
随机推荐
- Android WebView的使用(用来显示网页)
1.WebView介绍 2.URL介绍 简单说就是网址. 3.java后台代码 package com.lucky.test34webview; import android.support.v7.a ...
- [FJOI2017]矩阵填数
[Luogu3813] [LOJ2280] 写得很好的题解 \(1.\)离散化出每一块内部不互相影响的块 \(2.\)\(dp[i][j]\)为前 \(i\) 种重叠块其中有 \(j\) 这些状态的矩 ...
- AngularJs依赖注入写法笔记
下面两种依赖注入写法等价: [第一种] app.controller('lrNListingController', function (Notifier, Private, timefilter, ...
- 简单探究一下window下的wifi各种东西
保存地方在哪里 C:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\W ...
- 爬虫之自动生成url
Object.extend=function(props){ //继承父类 var prototype=Object.create(this.prototype) //初始化函数ctor var _C ...
- 安装软件或运行软件时提示缺少api-ms-win-crt-runtime库解决方法
最近碰到一个问题,在我软件安装或运行时会提示缺少api-ms-win-crt-runtime-|1-1-0.dll 当然第一个想到的是运行库没有装,但是很清楚的是我的电脑是装过vc_redist_20 ...
- 5. AQS(AbstractQueuedSynchronizer)抽象的队列式的同步器
5.1 AbstractQueuedSynchronizer里面的设计模式--模板模式 模板模式:父类定义好了算法的框架,第一步做什么第二步做什么,同时把某些步骤的实现延迟到子类去实现. 5.1.1 ...
- js动态实现时分秒
<div id="time" style="color: #96C2DD;</div> <script type="text/ ...
- Oracle RAC集群搭建(一)-ASM共享存储卷
01, ASM共享存储卷 安装集群的话,必须要有共享磁盘,目的是为作裁决磁盘使用.还需要有数据文件的共享磁盘 02,规划 主机 裁决磁盘 数据 rac1 1G*1 20 ...
- ansible 实战项目之文件操作(二)
一,前言 如果没有安装好的话看我以前的贴子哦!! 上次安装已经确定通了,所以下面步骤应该是完全ok的 特点: (1).轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可: (2 ...