如何让一个线程休眠

2022-11-30  本文已影响0人  糯米团子123
  1. Thread.sleep()
 try {
            Thread.sleep(10000000);// 时间单位还是ms
        }catch (Exception e){
            e.printStackTrace();
        }

上述方法不能清晰的看出线程休眠时长,可以使用:

  Thread.sleep(24*60*60*1000+10*60*1000);//休眠24小时10分
  1. java.util.concurrent.TimeUnit包下的方法(推荐使用,更优雅简单)
    2.1 使用方法
            TimeUnit.DAYS.sleep(1);// 休眠1天
            TimeUnit.HOURS.sleep(1);// 休眠1小时
            TimeUnit.MINUTES.sleep(1);//休眠1分钟
            TimeUnit.SECONDS.sleep(1);// 休眠1秒
    
    2.2 详细方法和枚举 TimeUtil.png

TimeUnit还可以用来做时间转换,例如:
可以将秒转换成各种单位的值

TimeUnit秒转换.png
可以将分转换成各种单位的值 TimeUnit分钟秒转换.png
3. 原理
TimeUnit原理.png TimeUnit本质上也是调用了Thread.sleep()方法,只是把Thread.sleep()封装了,让时间看起来更简洁,使用起来更简单。
上一篇下一篇

猜你喜欢

热点阅读