线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。

join为非静态方法,定义如下:

void join(): 等待该线程终止。

void join(long millis): 等待该线程终止的时间最长为 millis 毫秒。

void join(long millis, int nanos): 等待该线程终止的时间最长为 millis 毫秒 + nanos 纳秒。

package cn.thread;

/**

* 线程的调度(合并)

*

* @author 林计钦

* @version 1.0 2013-7-24 上午09:49:47

*/

public class ThreadJoin {

public static void main(String[] args) {

ThreadJoin join = new ThreadJoin();

Thread t1 = join.new MyThread1();

t1.start();

for (int i = 0; i < 20; i++) {

System.out.println("主线程第" + i + "次执行!");

if (i > 2)

try {

// t1线程合并到主线程中,主线程停止执行过程,转而执行t1线程,直到t1执行完毕后继续。

t1.join();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

class MyThread1 extends Thread {

public void run() {

for (int i = 0; i < 10; i++) {

System.out.println("线程1第" + i + "次执行!");

}

}

}

}

主线程第0次执行!

主线程第1次执行!

主线程第2次执行!

主线程第3次执行!

线程1第0次执行!

线程1第1次执行!

线程1第2次执行!

线程1第3次执行!

线程1第4次执行!

线程1第5次执行!

线程1第6次执行!

线程1第7次执行!

线程1第8次执行!

线程1第9次执行!

主线程第4次执行!

主线程第5次执行!

主线程第6次执行!

主线程第7次执行!

主线程第8次执行!

主线程第9次执行!

主线程第10次执行!

主线程第11次执行!

主线程第12次执行!

主线程第13次执行!

主线程第14次执行!

主线程第15次执行!

主线程第16次执行!

主线程第17次执行!

主线程第18次执行!

主线程第19次执行!

本文转自http://www.cnblogs.com/linjiqin/p/3209967.html 感谢作者

java 多线程合并_Java多线程-线程的调度(合并)相关推荐

  1. Java多线程-线程的调度(合并)

    2019独角兽企业重金招聘Python工程师标准>>> 线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用 ...

  2. Java线程:线程的调度-合并

    Java线程:线程的调度-合并 线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法. join为非静态方法,定义 ...

  3. java 生产者消费者_Java多线程:线程间通信—生产者消费者模型

    一.背景 && 定义 多线程环境下,只要有并发问题,就要保证数据的安全性,一般指的是通过 synchronized 来进行同步. 另一个问题是, 多个线程之间如何协作呢 ? 我们看一个 ...

  4. java的多线程机制_Java多线程开发(一)| 基本的线程机制

    0. 前言 Java 为了实现跨平台,在语言层面上实现了多线程.我们只需要熟悉 Java 这一套多线程机制就行了,比 C/C++ 要容易多了. 1. 定义任务 我们编写程序,最终是为了完成特定的任务. ...

  5. java并发多线程面试_Java多线程并发面试问答

    java并发多线程面试 Today we will go through Java Multithreading Interview Questions and Answers. We will al ...

  6. java多线程面试_Java多线程和并发基础面试问答,看过后你不会后悔

    ***:Java多线程面试问题 1:进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java ...

  7. java 多线程 关键字_java多线程基础(synchronize关键字)

    线程:进程(process)就是一块包含了某些资源的内存区域.操作系统利用进程把它的工作划分为一些功能单元. 线程:进程中所包含的一个或多个执行单元称为线程(thread).进程还拥有一个私有的虚拟地 ...

  8. java多线程代码_java多线程实例代码详解

    原文:http://blog.csdn.net/paranoidyang/article/details/70184523 作者:Paranoidyang 线程与进程的区别 (1)程序是一段静态的代码 ...

  9. java 高效的多线程同步_java多线程的同步和异步

    java多线程的同步和异步 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算 ...

最新文章

  1. Github最强算法刷题笔记.pdf
  2. 如何提升网站的信任度,助力网站获取高排名?
  3. 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议
  4. Pinterest:Android系统上的视频管理
  5. ntp linux 使用,linux-ntp 使用
  6. 坑了腾讯1624万!3人冒充老干妈员工诈骗腾讯 判决结果来了...
  7. 配置数据库连接池的时候。
  8. 开源新要求压迫下,正在撤退的维护者们!
  9. c语言程序设计考场排座位,“听说学霸座位是这个?”老师揭秘排座,真正的C位其实在这里……...
  10. 使用web.xml方式加载Spring时,获取Spring context的两种方式
  11. spring boot入门之——2.0新特性以及模块化构建
  12. Stolz定理 【补充知识】Stolz(斯托尔茨)定理(详解➕例题)
  13. python并行编程 - 线程篇
  14. App工程结构搭建:几种常见Android代码架构分析
  15. 达人评测 联想小新Pro16和小米笔记本Pro15选哪个好
  16. 微信帐号检测的实用小方法
  17. python 实例 cadu_求CAD实例
  18. 计算机网络管理员设备清单,网络管理员资料:计算机网络互联设备路由器
  19. conda能够实现多个环境共存原因的感悟
  20. QP状态机学习①——QP状态机架构

热门文章

  1. 设置KMPlayer的音量控制的快捷键
  2. 你的大脑里有AI吗?
  3. 第十五届全国大学生智能车竞赛线上竞赛方案(草案)
  4. 试编写一个将双向循环链表逆置的算法_循环双向链表在电路计算中的应用
  5. 所有java程序都有线程_若所有的用户线程都终止了,Java程序就会结束。( )_学小易找答案...
  6. linux open()调用的注意事项
  7. android 动态 dex,Android 动态加载dex
  8. 海豚php添加一行,添加表单项通用方法-海豚PHP1.0.6完全开发手册-基于ThinkPHP5.0.10的快速开发框架...
  9. c 正则去除a以外的html,正则表达式:去除除SRC以外的HTML属性
  10. 原生js设置div隐藏或者显示_JS实现“隐藏与显示”功能(多种方法)