Java之TimeUnit

举报
chenyu 发表于 2021/07/26 23:10:44 2021/07/26
【摘要】 1、TimeUnit介绍 位于这个包下 import java.util.concurrent.TimeUnit;           2、使用 一般比如多少分钟转多少毫秒、多少秒转多少毫秒、多少小时转多少分钟,还可以使用线程休息的方法, 底层还是用Thread.sleep()实现,代码可读性好点,我们可以使...

1、TimeUnit介绍

位于这个包下

import java.util.concurrent.TimeUnit;
 

 

 

 

 

 

2、使用

一般比如多少分钟转多少毫秒、多少秒转多少毫秒、多少小时转多少分钟,还可以使用线程休息的方法, 底层还是用Thread.sleep()实现,代码可读性好点,我们可以使用这个封装好的类。


  
  1. TimeUnit.SECONDS.sleep(4);
  2. TimeUnit.SECONDS.toMillis(3)

 

 

 

 

3、测试Demo


  
  1. public class Sqrt {
  2. public static void main(String[] args) {
  3. System.out.println(mySqrt(110));
  4. try {
  5. System.out.println("TimeUnit.SECONDS.sleep start");
  6. TimeUnit.SECONDS.sleep(4);
  7. System.out.println("TimeUnit.SECONDS.sleep end");
  8. //3秒转成毫秒
  9. System.out.println(TimeUnit.SECONDS.toMillis(3));
  10. //3分钟转成毫秒
  11. System.out.println(TimeUnit.MINUTES.toMillis(3));
  12. //3分钟转成秒
  13. System.out.println(TimeUnit.MINUTES.toSeconds(3));
  14. //3小时转成分钟
  15. System.out.println(TimeUnit.HOURS.toMinutes(3));
  16. } catch (InterruptedException e) {
  17. // TODO Auto-generated catch block
  18. e.printStackTrace();
  19. }
  20. }
  21. }
  22. }

 

 

 sleep源代码实现


  
  1. public void sleep(long timeout) throws InterruptedException {
  2. if (timeout > 0) {
  3. long ms = toMillis(timeout);
  4. int ns = excessNanos(timeout, ms);
  5. Thread.sleep(ms, ns);
  6. }

 

 

 

 

 

4、运行结果


  
  1. 10
  2. TimeUnit.SECONDS.sleep start
  3. TimeUnit.SECONDS.sleep end
  4. 3000
  5. 180000
  6. 180
  7. 180

 

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/81194893

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。