线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。
join为非静态方法,定义如下:
void join(): 等待该线程终止。
void join(long millis): 等待该线程终止的时间最长为 millis 毫秒。
void join(long millis, int nanos): 等待该线程终止的时间最长为 millis 毫秒 + nanos 纳秒。
测试代码:
public class ThreadJoinTest { public static void main(String[] args) { ThreadA ta = new ThreadA(); new ThreadB(ta).start(); } } class ThreadA extends Thread { public void run() { try { System.out.println("runing A start^^^^^^^^^^^"); Thread.currentThread().sleep(2000); System.out.println("runing A over^^^^^^^^^^^"); } catch (InterruptedException e) { e.printStackTrace(); } } } class ThreadB extends Thread { private ThreadA ta; public ThreadB(ThreadA ta) { this.ta = ta; } public void run() { try { System.out.println("runing B start^^^^^^^^^^^"); ta.start(); // 在ThreaB中调用ThreadA的join(),此时的ThreadB将挂起,直到ThreadA执行结束ThreadB才继续执行 ta.join(); System.out.println("runing B over^^^^^^^^^^^"); } catch (InterruptedException e) { e.printStackTrace(); } } }
仔细分析输出将一目了然:
runing B start^^^^^^^^^^^ runing A start^^^^^^^^^^^ runing A over^^^^^^^^^^^ runing B over^^^^^^^^^^^
相关推荐
Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程...
Java线程:线程的调度-合并 22 Java线程:线程的调度-终止线程 25 Java线程:线程的调度-守护线程 28 Java线程:线程组 30 Java线程:线程的同步 33 一、 同步方法 35 二、 同步块 36 三、 volatile关键字 38 四、 ...
Java多线程-Socket编程
Java多线程--多线程相关概念
Java多线程--让主线程等待所有子线程执行完毕
Java线程:线程的调度-合并 Java线程:线程的调度-守护线程 Java线程:线程的同步-同步方法 Java线程:线程的同步-同步块 Java线程:并发协作-生产者消费者模型 Java线程:并发协作-死锁 Java线程:volatile...
Java多线程--线程间的通信
Java多线程--线程的生命周期
Java线程:线程的调度-合并 Java线程:线程的调度-守护线程 Java线程:线程的同步-同步方法 Java线程:线程的同步-同步块 Java线程:并发协作-生产者消费者模型 Java线程:并发协作-死锁 Java线程:volatile关键字 ...
Java多线程--线程安全问题练习题
Java多线程--多线程知识点总结和企业真题
Java多线程--对比创建多线程的两种方式
java多线程按需交替执行,java新特性。
Java多线程-多功能演示系统,连接MySQL数据库利用多线程实现信息交流,为教师提供教学服务,便于教师整理教学资料,整合所需知识内容,更好的为学生提供生动形象的理解方式,加强教师与学生之间的互动沟通。
Java多线程--JDK5.0新增线程创建方式
Java多线程--创建多线程的基本方式一:继承Thread类
Java多线程--创建多线程的基本方式二:实现Runnable接口
Java多线程--线程的安全问题与线程的同步机制介绍
基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码....
Java多线程--Thread类的常用结构及线程优先级