• Java线程十:线程的调度-合并


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

    Process finished with exit code 0
  • 相关阅读:
    Mysql学习总结(19)——Mysql无法创建外键的原因
    Java Web学习总结(21)——http协议响应状态码大全以及常用状态码
    Java Web学习总结(21)——http协议响应状态码大全以及常用状态码
    Tomcat学习总结(5)——Tomcat容器管理安全的几种验证方式
    Android学习总结(1)——好的 Android 开发习惯
    phabricator
    linux-kernel 学习计划
    【华为云技术分享】Linux内核编程环境 (1)
    7 分钟全面了解位运算
    【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南
  • 原文地址:https://www.cnblogs.com/luckForever/p/7254376.html
Copyright © 2020-2023  润新知