• Thread.sleep() 和 TimeUnit.SECONDS.sleep()


    TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段

    常用的颗粒度

    TimeUnit.DAYS          //天
    TimeUnit.HOURS         //小时
    TimeUnit.MINUTES       //分钟
    TimeUnit.SECONDS       //秒
    TimeUnit.MILLISECONDS  //毫秒
    

      

    1、时间颗粒度转换 

    public long toMillis(long d)    //转化成毫秒
        public long toSeconds(long d)  //转化成秒
        public long toMinutes(long d)  //转化成分钟
        public long toHours(long d)    //转化成小时
        public long toDays(long d)     //转化天
    

      

    例子

    import java.util.concurrent.TimeUnit;
     
    public class Test {
     
        public static void main(String[] args) {
            //1天有24个小时    1代表1天:将1天转化为小时
            System.out.println( TimeUnit.DAYS.toHours( 1 ) );
             
            //结果: 24
             
     
            //1小时有3600秒
            System.out.println( TimeUnit.HOURS.toSeconds( 1 ));
             
            //结果3600
             
             
            //把3天转化成小时
            System.out.println( TimeUnit.HOURS.convert( 3 , TimeUnit.DAYS ) );
            //结果是:72
     
        }
    }
    

      

    2、延时

    •  一般的写法
    public class Test2 {
     
        public static void main(String[] args) {
     
            new Thread( new Runnable() {
     
                @Override
                public void run() {
                    try {
                        Thread.sleep( 5 * 1000 );
                        System.out.println( "延时完成了");
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }).start();  ;
        }
         
    }
    

      

    • TimeUnit 写法
    import java.util.concurrent.TimeUnit;
     
    public class Test2 {
     
        public static void main(String[] args) {
     
            new Thread( new Runnable() {
     
                @Override
                public void run() {
                    try {
                        TimeUnit.SECONDS.sleep( 5 );
                        System.out.println( "延时5秒,完成了");
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }).start();  ;
        }
         
    }
    

      

    源码:

     参考  :

    https://www.cnblogs.com/zhaoyanjun/p/5486726.html

    https://www.cnblogs.com/sanhuan/p/4826401.html 

  • 相关阅读:
    和我一起看API(一)你所不知道的LinearLayout补充
    SQLSERVER常见系统函数之字符串函数(一)
    C#使用ADO.NET访问数据库(一)
    SQLSERVER基础语句(一)
    Vue 项目部署之iis
    XiaoQi.Study 之 .net core webapi (三)
    XiaoQi.Study 之 .net core webapi (二)
    XiaoQi.Study 之.net core webapi(一)
    Vue 学习笔记(四)
    Vue 学习笔记(二)
  • 原文地址:https://www.cnblogs.com/jiuya/p/10832507.html
Copyright © 2020-2023  润新知