您的位置:首页 > 编程语言 > Java开发

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 纳秒。

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: