TimeUnit 笔记
TimeUnit笔记
1.TimeUnit 简介
TimeUnit是java.util.concurrent包下的一个枚举类,其主要封装了时间单位之间的转换以及基于时间上对线程的基本操作(sleep,join,wait);其主要特色是对时间操作提供了较好的可读性,同时也是对枚举语法理解的一个较好的例子。
大家都知道,对于Thread.sleep方法里,只接受毫秒的入参,这样实际中就经常先使用一个常量保存sleep的时间,比如3秒钟,我们的代码通常会这样写:
private final int SLEEP_TIME = 3 * 1000; //3 seconds
因为Thread.sleep方法参数接受的毫秒单位的数值,比较下面代码就知道TimeUnit枚举成员的sleep方法更优雅:
TimeUnit.MILLISECONDS.sleep(10);
TimeUnit.SECONDS.sleep(10);
TimeUnit.MINUTES.sleep(10);
Thread.sleep(10);
Thread.sleep(10*1000);
Thread.sleep(10*60*1000);
2.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 毫秒的工具类
3.参考链接:
1.http://stevex.blog.51cto.com/4300375/1285767
2.http://chenjumin.iteye.com/blog/2182171
TimeUnit 笔记的更多相关文章
- ActiveMQ笔记(7):如何清理无效的延时消息?
ActiveMQ的延时消息是一个让人又爱又恨的功能,具体使用可参考上篇ActiveMQ笔记(6):消息延时投递,在很多需要消息延时投递的业务场景十分有用,但是也有一个缺陷,在一些大访问量的场景,如果瞬 ...
- Java系列笔记(6) - 并发(上)
目录 1,基本概念 2,volatile 3,atom 4,ThreadLocal 5,CountDownLatch和CyclicBarrier 6,信号量 7,Condition 8,Exchang ...
- Java Concurrency in Practice 读书笔记 第十章
粗略看完<Java Concurrency in Practice>这部书,确实是多线程/并发编程的一本好书.里面对各种并发的技术解释得比较透彻,虽然是面向Java的,但很多概念在其他语言 ...
- (转)ZooKeeper 笔记(1) 安装部署及hello world
ZooKeeper 笔记(1) 安装部署及hello world 先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.or ...
- Android(java)学习笔记267:Android线程池形态
1. 线程池简介 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力. 假设一个服务器完成一项任务所需时间为:T1 创建线程时间, ...
- thrift学习笔记
Thrift学习笔记 一:thrift介绍 Thrift是facebook开发的用来处理各不同系统之间数据通讯的rpc服务框架,后来成为apche的开源项目.thrift支持多种程序语言,包括Java ...
- 01-Java学习笔记
本系列笔记由常彦博整理,请知悉 目 录 一. Java技术基础.................................................................... ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- effective java 第2章-创建和销毁对象 读书笔记
背景 去年就把这本javaer必读书--effective java中文版第二版 读完了,第一遍感觉比较肤浅,今年打算开始第二遍,顺便做一下笔记,后续会持续更新. 1.考虑用静态工厂方法替代构造器 优 ...
随机推荐
- 并查集——poj1611(入门)
传送门:The Suspects 并查集水题 #include <iostream> #include <cstdio> #include <algorithm> ...
- SourceTree git的管理工具使用教程1
1SourceTree是一个window系统下的Git管理工具 2设置Git 工具——选项——Git设置 3拷贝远程的项目 新建/克隆(输入远程项目的url地址) 4验证(填写用户信息) 工具——选项 ...
- lintcode-116-跳跃游戏
116-跳跃游戏 给出一个非负整数数组,你最初定位在数组的第一个位置. 数组中的每个元素代表你在那个位置可以跳跃的最大长度. 判断你是否能到达数组的最后一个位置. 注意事项 这个问题有两个方法,一个是 ...
- lintcode-83-落单的数 II
83-落单的数 II 给出3*n + 1 个的数字,除其中一个数字之外其他每个数字均出现三次,找到这个数字. 样例 给出 [1,1,2,3,3,3,2,2,4,1] ,返回 4 挑战 一次遍历,常数级 ...
- 文本太长,用省略号显示的css样式
——html代码 <divid="d1" title="鼠标放上显示的文字"></div> ——css代码 #d1{ width:300 ...
- JAXB使用方式
JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实例文档反向 ...
- servlet 接受和回复向服务器对客户端发起得请求
servlet 接受和回复向服务器对客户端发起得请求
- 每个分组函数相当于一个for循环 将集合的变量不断遍历
每个分组函数相当于一个for循环 将集合的变量不断遍历
- BZOJ4651 NOI2016网格(割点)
首先显然可以通过孤立角落里的跳蚤使其不连通,所以只要有解答案就不会大于2.同样显然的一点是当且仅当跳蚤数量<=2且连通时无解.做法其实也很显然了:特判无解,若跳蚤不连通输出0,否则看图中是否无割 ...
- Codeforces Round #553 F Sonya and Informatics
题目 题目大意 给定一个长为 $n$($2 \le n \le 100$)的01串 $S$ .对 $S$ 进行 $k$($1 \le k \le 10^9$)次操作:等概率地选取两个下标 $i, j$ ...