Java线程:线程的调度-合并解析

哈哈 阅读:210 2021-03-31 21:20:09 评论:0

本文转载至:http://lavasoft.blog.51cto.com/62575/221817

Java线程:线程的调度-合并 
线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。 
join为非静态方法,定义如下:
void join()     
    等待该线程终止。     
void join(long millis)     
    等待该线程终止的时间最长为 millis 毫秒。     
void join(long millis, int nanos)     
    等待该线程终止的时间最长为 millis 毫秒 + nanos 纳秒。

/**  
* Java线程:线程的调度-合并  
*  
* @author leizhimin 2009-11-4 9:02:40  
*/  
public class Test {  
        public static void main(String[] args) {  
                Thread t1 = 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次执行!  
线程1第0次执行!  
主线程第3次执行!  
线程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次执行!


声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
KIKK导航

KIKK导航

关注我们