java timeunit_java并发之TimeUnit
一、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。
注:初学者,写的不好请见谅,如有相关问题记得私信我
java timeunit_java并发之TimeUnit相关推荐
- java timeunit_java并发之TimeUnit理解
TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep(),在很长一段时间里Thread的sle ...
- java多线程并发之旅-20-同步工具类。闭锁/栅栏/信号量/阻塞队列/FutureTask
同步工具类 同步工具类主要包括闭锁(如CountDownLatch),栅栏(如CyclicBarrier),信号量(如Semaphore)和阻塞队列(如LinkedBlockingQueue)等: F ...
- java多线程并发之旅-34-性能与可伸缩性
概述 编写正确的程序很难,而编写正确的并发程序则难上加难.与串行程序相比,在并发程序中存在更多容易出错的地方. 那么,为什么还要编写并发程序? 线程是Java语言中不可或缺的重要功能,它们能使复杂的异 ...
- java多线程并发之旅-09-java 生产者消费者 Producer/Consumer 模式
生产者消费者模式 在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类.函数.线程.进程等).产生数据的模块,就形象地称为生产 ...
- JAVA游戏开发之FPS精准控制
目录 JAVA游戏开发之FPS精准控制... 1 1 概述... 2 1.1 编写目的... 3 2 FPS精准控制... 3 2.1 FPS描述. ...
- java 并发开发之AQS
java 并发开发之AQS AQS 是什么,有什么作用? ① 是什么:AQS 是抽象队列同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖它 ② 有什么作用:为Java的并发 ...
- java并发之TimeUnit
2019独角兽企业重金招聘Python工程师标准>>> 一.TimeUnit和Thread.sleep() TimeUnit是java.util.concurrent包下面的一个类, ...
- java timeunit_java – 了解TimeUnit
我看了一下TimeUnit和toMillis()方法. public long toMillis(long paramLong) { throw new AbstractMethodError(); ...
- java timeunit_Java TimeUnit使用
TimeUnit TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段. 常用的颗粒度 TimeUnit.DAYS //天 TimeUnit.HOURS ...
最新文章
- [您有新的未分配科技点]可,可,可持久化!?------0-1Trie和可持久化Trie普及版讲解...
- 预告|第四届工业大数据创新竞赛决赛答辩倒计时
- 一行代码快速搞定Flowable断点下载(上)
- jquery中$运算符的后代选择器
- kafka 名词解释及原理解析过程(三)
- rabitMQ-centos7安装
- Android 工程引入自定义Library后,工程无法识别Library中的类
- 【转】Tomcat+MyEclipse
- Exchange2010外部传输域的使用方法
- 如何选择开源许可证?
- ucc编译器(优化)
- 【网络】HTTPS 怎么保证数据传输的安全性
- 在 GitHub 上提交代码必备指南!
- 记录一次浏览器主页被劫持的经历
- python gif图 ctf_从两道CTF实例看python格式化字符串漏洞
- 【工业控制】基于matlab多变量动态矩阵预测控制(DMC)【含Matlab源码 1499期】
- windows网卡初始化
- GSM/CDMA/GPRS介绍
- 数据分析训练营-pandas
- python从srt文件中只提取歌词