2019独角兽企业重金招聘Python工程师标准>>>

一、TimeUnit和Thread.sleep()

TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep()。

大部分的程序员都已经熟悉了Thread.sleep(),并把它当成了我们的一种习惯。

举个例子:

Thread.sleep(1200000);

当我们看到这段代码的时候,括号里面的是毫秒,我们需要单位的换算才会有个大致的了解到底睡眠了多少时间。

我们再看看TimeUnit:

TimeUnit.MINUTES.sleep(4);

我们就可以很清楚的看到,该线程睡眠了4分钟。

关于TimeUnit还有些常用的方法:

//关于秒的常用方法
TimeUnit.SECONDS.toMillis(1) 1秒转换为毫秒数
TimeUnit.SECONDS.toMinutes(60) 60秒转换为分钟数
TimeUnit.SECONDS.sleep(5) 线程休眠5秒
TimeUnit.SECONDS.convert(1, TimeUnit.MINUTES) 1分钟转换为秒数 //TimeUnit.DAYS 日的工具类
//TimeUnit.HOURS 时的工具类
//TimeUnit.MINUTES 分的工具类
//TimeUnit.SECONDS 秒的工具类
//TimeUnit.MILLISECONDS 毫秒的工具类

可以进行时间单位的换算。

二、总结

以后我们用到Thread.sleep()的时候,我们尽可能的用TimeUnit来替换它,这样不仅可以提高代码的可读性,也可以增加我们对java.util.concurrent的熟悉。因为TimeUnit是java.util.concurrent的一个重要的API。

注:初学者,写的不好请见谅,如有相关问题记得私信我

转载于:https://my.oschina.net/chenzhou/blog/2906979

java并发之TimeUnit相关推荐

  1. java timeunit_java并发之TimeUnit理解

    TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep(),在很长一段时间里Thread的sle ...

  2. JAVA并发之多线程基础(2)

    除了我们经常用的synchronized关键字(结合Object的wait()和notify()使用)之外,还有对应的上篇文章讲到的方法JAVA并发之多线程基础(1)之外,我们日常中使用到最多的也就是 ...

  3. 你真的弄明白了吗?Java并发之AQS详解

    你真的弄明白了吗?Java并发之AQS详解 带着问题阅读 1.什么是AQS,它有什么作用,核心思想是什么 2.AQS中的独占锁和共享锁原理是什么,AQS提供的锁机制是公平锁还是非公平锁 3.AQS在J ...

  4. java并发之Future与Callable使用

    java并发之Future与Callable使用 这篇文章需要大家知道线程.线程池的知识,尤其是线程池. 有的时候我们要获取线程的执行结果,这个时候就需要用到Callable.Future.Futur ...

  5. JAVA并发之多线程基础(3)

    上篇文章中讲到了重入锁以及对应的条件操作,详情见JAVA并发之多线程基础(2).这篇文章我们就继续谈JDK中含有的并发操作类. Semaphore 对于大部分的锁来说,线程之间的都是互斥的,排他的,只 ...

  6. Java 并发之 AQS 详解(上)

    Java 并发之 AQS 详解 前言 Java SDK 为什么要设计 Lock 死锁问题 synchronized 的局限性 显式锁 Lock Lock 使用范式 Lock 是怎样起到锁的作用呢? 队 ...

  7. java并发之Semaphore信号量

    java并发之Semaphore信号量 简介: Semaphore是计数信号量.Semaphore管理一系列许可证.每个acquire方法阻塞,直到有一个许可证可以获得然后拿走一个许可证:每个rele ...

  8. 深入理解Java并发之synchronized实现原理

    [版权申明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/72828483 出自[zejian ...

  9. JAVA并发之多线程基础(5)

    上面介绍了并发编程中的栅栏等JAVA并发之多线程基础(4) .通过唯一的一个终点线来帮助确定线程是多晚开始执行下一次操作. LockSupport 提供了一个比较底层的线程挂起操作.有点类似于susp ...

最新文章

  1. 腾讯云CentOS7.2+Django2.2+Python3.7+Nginx+Uwsgi 初学者部署教程
  2. 用一个类根据Model属性生成SQL语句
  3. dedecms arclist中截取字符串的方法
  4. Codeforces 486D. Valid Sets
  5. 数学之美系列五 -- 简单之美:布尔代数和搜索引擎的索引
  6. python精要(78)-模块与包组织(1)-绝对导入
  7. 主机无法连接虚拟机中的redis服务
  8. Android之智能问答机器人
  9. SicilyBrackets Matching
  10. MVC三层架构详细图
  11. css折角的简单实现 真实项目实践
  12. 2019届秋季校园招聘总结
  13. path/filepath
  14. linux系统端口的5种状态及含义
  15. Tesla™ GPU高性能计算应用案例
  16. 硬盘主从盘跳线图解_硬盘背面的跳线有什么作用?
  17. 19. linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解
  18. 大一女生才学 C,感觉和真正程序员差太远,该怎么学
  19. 每日一课 | 使用JavaScript强制下载(文末免费领好课)
  20. opencv证件照背景替换

热门文章

  1. 统计决策理论2 条件分布上
  2. C# DirectX 开发2 - 定义一个矩阵和赋值
  3. 词法分析器构造工具Flex基础学习
  4. 超图桌面版制作分段专题图学习
  5. win32汇编系统函数简单小示例图解
  6. sql server 索引学习1
  7. Win 驱动编程 - 内核里操作注册表
  8. 图解命令行手动编译构建一个win32汇编程序
  9. 【敏捷个人俱乐部-北京】及【免费敏捷结果线下练习】报名帖
  10. Turtle-可视化界面画圣诞树