TimeUnit简析
TimeUnit是java.util.concurrent包下面的一个类,主要有两种功能:
1、提供可读性更好的线程暂停操作,通常用来替换Thread.sleep()
2、提供便捷方法用于把时间转换成不同单位
替换Thread.sleep()
Thread.sleep()的弊端:Thread.sleep()是一个静态方法,暂停线程时不会释放锁,并会抛出InterrupttedException异常,且可读性差
例如:Thread.sleep(25000) 很难一下子得出暂停了多久
TimeUnit的解决方式
可指定DAYS、HOURS、MINUTES,SECONDS、MILLISECONDS和NANOSECONDS(纳秒)来表明暂停时间,例如:
TimeUnit.MINUTES.sleep(4); // sleeping for 4 minutes
时间转换
例如:
TimeUnit.SECONDS.toMillis(1) //1秒转换为毫秒数,注意,参数默认为秒
TimeUnit.SECONDS.toMinutes(60) //60秒转换为分钟数
TimeUnit.SECONDS.convert(1, TimeUnit.MINUTES) //1分钟转换为秒数,这里可指定参数类型
TimeUnit简析的更多相关文章
- CGLib 简析
背景 JDK 动态代理存在的一些问题: 调用效率低 JDK 通过反射实现动态代理调用,这意味着低下的调用效率: 每次调用 Method.invoke() 都会检查方法的可见性.校验参数是否匹配,过程涉 ...
- 简析.NET Core 以及与 .NET Framework的关系
简析.NET Core 以及与 .NET Framework的关系 一 .NET 的 Framework 们 二 .NET Core的到来 1. Runtime 2. Unified BCL 3. W ...
- 简析 .NET Core 构成体系
简析 .NET Core 构成体系 Roslyn 编译器 RyuJIT 编译器 CoreCLR & CoreRT CoreFX(.NET Core Libraries) .NET Core 代 ...
- RecycleView + CardView 控件简析
今天使用了V7包加入的RecycleView 和 CardView,写篇简析. 先上效果图: 原理图: 这是RecycleView的工作原理: 1.LayoutManager用来处理RecycleVi ...
- Java Android 注解(Annotation) 及几个常用开源项目注解原理简析
不少开源库(ButterKnife.Retrofit.ActiveAndroid等等)都用到了注解的方式来简化代码提高开发效率. 本文简单介绍下 Annotation 示例.概念及作用.分类.自定义. ...
- PHP的错误报错级别设置原理简析
原理简析 摘录php.ini文件的默认配置(php5.4): ; Common Values: ; E_ALL (Show all errors, warnings and notices inclu ...
- Android 启动过程简析
首先我们先来看android构架图: android系统是构建在linux系统上面的. 所以android设备启动经历3个过程. Boot Loader,Linux Kernel & Andr ...
- Android RecycleView + CardView 控件简析
今天使用了V7包加入的RecycleView 和 CardView,写篇简析. 先上效果图: 原理图: 这是RecycleView的工作原理: 1.LayoutManager用来处理RecycleVi ...
- Java Annotation 及几个常用开源项目注解原理简析
PDF 版: Java Annotation.pdf, PPT 版:Java Annotation.pptx, Keynote 版:Java Annotation.key 一.Annotation 示 ...
随机推荐
- anaconda资源链接
清华源: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ anaconda所有版本大全: http://www.bubuko.com/in ...
- Mapreduce其他部分
1.hadoop的压缩codec Codec为压缩,解压缩的算法实现. 在Hadoop中,codec由CompressionCode的实现来表示.下面是一些实现: 可分割性:可分割与不可分割的区别:文 ...
- hive学习-测试数据
测试数据: ---------------------------------------------MySQL-------------------------------------------- ...
- android 量产软件改动信息(持续更新)
http://blog.csdn.net/xubin341719/article/details/8449352 关键词:android 4.0默认语言蓝牙名称 MTP名称默认时区关于平板电脑 内核版 ...
- 源码 <oss2.models.PutObjectResult object at 0x7f7928d0b240>
<oss2.models.PutObjectResult object at 0x7f7928d0b240> # -*- coding: utf-8 -*- import oss2 oss ...
- Unified Modeling Language
https://en.wikipedia.org/wiki/Unified_Modeling_Language
- java实现从服务端下载文件
这边用一个简单的servlet实现java从服务端下载文件的操作 写一个servlet: <servlet> <servlet-name>DownloadServlet< ...
- Ubuntu安装mysql及设置远程访问方法
ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-clie ...
- on条件与where条件的区别(转)
add by zhj: 以为一直以为on和where是等价于,直到看到这篇文章,并亲自测试,才知道原来他们的功能不一样. 可以这样理解:on是在生成连接表的起作用的,where是生成连接表之后对连接表 ...
- 协作工具 discord 和 slack
discord: https://discordapp.com/ slack: www.slack.com