zoukankan      html  css  js  c++  java
  • thread ---- join

    public class TrainDemo1 {
        public static void main(String[] args){
            Gard g = new Gard();
            g.start();
            Train t1 = new Train(2000);
            Train t2 = new Train(8000);
            Train t3 = new Train(6000);
            t1.start();
            t2.start();
            t3.start();
            try { // start,join都是非阻塞的。如果没有join那么主线程不会等待子线程结束,它只管自己的执行顺序,执行时间,执行完一条紧跟
                t1.join();//下一条。
                t2.join();//如果有了join,那么主线程会监控子线程,讲他们的执行时间加入自己的时间,等到他们全部结束,然后主线程在执行它剩下的代码
                t3.join();//join期间,各个子线程并不是一个接一个的执行,而是依旧是各自执行各自的,所以,一般join的时候,主线程其实等待的是耗时最久的那个线程的执行时间
            }catch (InterruptedException e){
    
            }
            System.out.println("over");
        }
    }
    
    
    class Montain{
    
    }
    class Train extends Thread{
        private int time;
        public Train(int time){
            this.time = time;
        }
        public void run(){
            try{
                Thread.sleep(time);
            }catch (Exception e){
    
            }
        }
    }
    
    
    
    
    //守护线程
    class Gard extends Thread{
        public Gard(){
            this.setDaemon(true);
        }
        public void run(){
            while(true) {
                try {
                    System.out.println("di~~~da~~~~~");
                    Thread.sleep(1000);
                } catch (Exception e) {
    
                }
            }
        }
    }
    
  • 相关阅读:
    php 之 没有mysql支持时的替代方案
    在php中使用sockets:从新闻组中获取文章
    PHP ON 阿里云的环境配置攻略
    java基础2
    java基础1
    连接查询(内连接)
    mysql数据约束
    mysql表中数据的增删改查2
    mysql表中数据的增删改查
    mysql表的增查改删
  • 原文地址:https://www.cnblogs.com/jijizhazha/p/7740163.html
Copyright © 2011-2022 走看看