Java多线程 -- 线程的调度-合并
2015-08-26 16:51
507 查看
Java线程:线程的调度-合并
线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。
join为非静态方法,定义如下:
void join() 等待该线程终止。
void join(long millis) 等待该线程终止的时间最长为 millis 毫秒。
void join(long millis, int nanos) 等待该线程终止的时间最长为
millis 毫秒 + nanos 纳秒。
主线程第0次执行!
主线程第1次执行!
主线程第2次执行!
线程2第0次执行!
主线程第3次执行!
线程2第1次执行!
线程2第2次执行!
线程2第3次执行!
线程2第4次执行!
线程2第5次执行!
线程2第6次执行!
线程2第7次执行!
线程2第8次执行!
线程2第9次执行!
主线程第4次执行!
主线程第5次执行!
主线程第6次执行!
主线程第7次执行!
主线程第8次执行!
主线程第9次执行!
主线程第10次执行!
主线程第11次执行!
主线程第12次执行!
主线程第13次执行!
主线程第14次执行!
主线程第15次执行!
主线程第16次执行!
主线程第17次执行!
主线程第18次执行!
主线程第19次执行!
Process finished with exit code 0
线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。
join为非静态方法,定义如下:
void join() 等待该线程终止。
void join(long millis) 等待该线程终止的时间最长为 millis 毫秒。
void join(long millis, int nanos) 等待该线程终止的时间最长为
millis 毫秒 + nanos 纳秒。
package com.chb.abc.JavaIODemo; /** * Java线程:线程的调度-合并 * * @author chb */ public class TestThreadJoin { public static void main(String[] args) { Thread t2 = new MyThread2(); t2.start(); for (int i = 0; i < 20; i++) { System.out.println("主线程第" + i + "次执行!"); if (i > 2) try { //t2线程合并到主线程中,主线程停止执行过程,转而执行t2线程,直到t2执行完毕后继续。 t2.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } } class MyThread2 extends Thread { public void run() { for (int i = 0; i < 10; i++) { System.out.println("线程2第" + i + "次执行!"); } } }执行结果:
主线程第0次执行!
主线程第1次执行!
主线程第2次执行!
线程2第0次执行!
主线程第3次执行!
线程2第1次执行!
线程2第2次执行!
线程2第3次执行!
线程2第4次执行!
线程2第5次执行!
线程2第6次执行!
线程2第7次执行!
线程2第8次执行!
线程2第9次执行!
主线程第4次执行!
主线程第5次执行!
主线程第6次执行!
主线程第7次执行!
主线程第8次执行!
主线程第9次执行!
主线程第10次执行!
主线程第11次执行!
主线程第12次执行!
主线程第13次执行!
主线程第14次执行!
主线程第15次执行!
主线程第16次执行!
主线程第17次执行!
主线程第18次执行!
主线程第19次执行!
Process finished with exit code 0
相关文章推荐
- java 数据库blob转word
- jdk源码分析之Number抽象类
- myeclipse 中查看jar包的源码
- java进程 线程分析
- Java多线程 -- 线程的调度-让步
- K2 如何和 Java 做整合?
- JAVA利用JXL导出/生成 EXCEL
- Java如何读取XML文件 具体实现
- java.text.NumberFormat的用法实例
- java
- MyEclipse快捷键
- MyEclipse快捷键大全
- Java多线程 -- 线程的调度优先级
- JAVA问题总结之10--逻辑运算注意事项
- JDK中的URLConnection参数详解
- java多线程(一)Race Condition现象及产生的原因
- java Jxl 操作Excel
- JAVA虚拟机:JAVA体系结构
- 在Eclipse安装pydev
- java学习日记