join():  加入。一个线程如果执行了join语句,那么就有新的线程加入,执行该语ij

句的线程必须要让步给新加入的线程先完成任务,然后才能继续执行。

import java.util.Scanner;

import static sun.misc.Version.print;

public class EX10 {
public static void main(String[] args) { Mom m = new Mom();
m.run();//不用调run 吗?他们两个为什么
// m.start(); }
} class Mom extends Thread{
@Override
public void run() {
System.out.println("老妈洗菜");
System.out.println("老妈正在切菜");
System.out.println("老妈准备炒菜,但是发现没有酱油了");
//老妈叫儿子打酱油
Son s = new Son();
s.start();
try {
s.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("老妈继续炒菜");
System.out.println("吃饭了哈哈哈哈哈哈哈哈!!!!!");
System.out.println();
}
} class Son extends Thread{
@Override
public void run() {
System.out.println("儿子下楼了");
System.out.println("打到了酱油");
System.out.println("儿子把酱油交给了老妈");
}
}
老妈洗菜
老妈正在切菜
老妈准备炒菜,但是发现没有酱油了
儿子下楼了
打到了酱油
儿子把酱油交给了老妈
老妈继续炒菜
吃饭了哈哈哈哈哈哈哈哈!!!!! Process finished with exit code 0

java 多线程8(join)的更多相关文章

  1. Java多线程中join、yield、sleep方法详解

    在Java多线程编程中,Thread类是其中一个核心和关键的角色.因此,对该类中一些基础常用方法的理解和熟练使用是开发多线程代码的基础.本篇主要总结一下Thread中常用的一些静态方法的含义及代码中的 ...

  2. JAVA多线程---wait() & join()

    题外话: interrupt()方法  并不能中断一个正常运行的线程!!! class myThread extends Thread{ @Override public void run(){ fo ...

  3. 转载:Java多线程中join方法的理解

    转载自:http://uule.iteye.com/blog/1101994 thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A ...

  4. Java多线程的join()

    假设在main线程里又起了一个thread1线程,在调用了thread1.start()之后: 如果在main线程里调用了thread1.join(),那么main线程将会block,直到thread ...

  5. Java多线程中join方法详解

    join()方法用于让当前执行线程等待join线程执行结束.其实现原理是不停的检查join线程是否存活,如果join线程存活则让当前线程永远等待. join()方法部分实现细节 while(isAli ...

  6. Java多线程中join方法的理解

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

  7. Java多线程学习——join方法的使用

    join在线程里面意味着“插队”,哪个线程调用join代表哪个线程插队先执行——但是插谁的队是有讲究了,不是说你可以插到队头去做第一个吃螃蟹的人,而是插到在当前运行线程的前面,比如系统目前运行线程A, ...

  8. java 多线程 Thread.join子线程结束父线程再运行;join(long):等待超时毫秒数

    Join的使用 目的:当子线程运行结束后,父线程才能再继续运行 /** * @ClassName ThreadJoinExample * @projectName: object1 * @author ...

  9. Java多线程-join方法

    thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B. 具体例子看链接 ...

  10. Java多线程系列--“基础篇”08之 join()

    概要 本章,会对Thread中join()方法进行介绍.涉及到的内容包括:1. join()介绍2. join()源码分析(基于JDK1.7.0_40)3. join()示例 转载请注明出处:http ...

随机推荐

  1. Repeater删改

    一.Repeater删改 中心思路:点击"删除"链接,跳转到"删除"网页,在"删除"网页里面执行删除方法,然后再返回主界面,根据删除界面返回 ...

  2. java解析密钥格式

    import java.io.StringReader; import org.bouncycastle.asn1.ASN1Sequence; import org.bouncycastle.asn1 ...

  3. SAP BASIS日常需要做的工作

    SAP Basis的一些日常工作包括用户权限管理.集团管理.数据库管理.后台作业.打印管理.系统监控.传输管理等. a. 用户权限管理: SU01—创建,修改,显示用户信息 SU10—批量修改用户 P ...

  4. windows10 IOT +Azure会议概要总结

    windows10 IOT +Azure会议概要总结 会议资料将放到https://channel9.msdn.com/Blogs/WinHEC FAQ:msftsziot@microsoft.com ...

  5. Linux加载DTS设备节点的过程(以高通8974平台为例)

    DTS是Device Tree Source的缩写,用来描述设备的硬件细节.在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码, ...

  6. HTML框架与布局

    原文:http://www.cnblogs.com/yyhh/p/4210659.html HTML块 HTML块元素 块元素在显示时,通常会以新行开始 如:<h1>.<p>. ...

  7. FRM-10001, FRM-10002, FRM-10003 Oracle Form Builder Error Solution

    These errors occurred usually due to forms connection problem or some internal problem, the solution ...

  8. linux 中 ll 命令如何让查询结果按时间升序或降序排序?

    -t选项的功能是使输出的结果将以时间降序排列.如果希望按时间的升序排列,可以使用管道符将返回的结果传入tac命令.用法示例:查询当前目录的文件并以降序排列: ll -t查询当前目录的文件并以升序排列: ...

  9. ironpython 2.75 在c#中的使用

    ironpython的介绍请自行搜索. 一句话,python是一个类似lua js的动态预言.ironpython是在net环境执行python的类库. 效果:在网站中调用一个python文件test ...

  10. 2016.3.22考试(HNOI难度)

    T1 盾盾的打字机 盾盾有一个非常有意思的打字机,现在盾哥要用这台打字机来打出一段文章. 由于有了上次的经验,盾盾预先准备好了一段模板A存在了内存中,并以此为基础来打出文章B.盾盾每次操作可以将内存中 ...