TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段。

常用的颗粒度

TimeUnit.DAYS          //天
TimeUnit.HOURS //小时
TimeUnit.MINUTES //分钟
TimeUnit.SECONDS //秒
TimeUnit.MILLISECONDS //毫秒

1.颗粒度转换

public long toMillis(long d)    //转化成毫秒
public long toSeconds(long d) //转化成秒
public long toMinutes(long d) //转化成分钟
public long toHours(long d) //转化成小时
public long toDays(long d) //转化天
import java.util.concurrent.TimeUnit;

public class TimeUnitTest {

    public static void main(String[] args) {
//convert 1 day to 24 hour
System.out.println(TimeUnit.DAYS.toHours(1));
//convert 1 hour to 60*60 second.
System.out.println(TimeUnit.HOURS.toSeconds(1));
//convert 3 days to 72 hours.
System.out.println(TimeUnit.HOURS.convert(3, TimeUnit.DAYS));
} }

2.延时,可替代Thread.sleep()。

import java.util.concurrent.TimeUnit;

public class ThreadSleep {

    public static void main(String[] args) {
Thread t = new Thread(new Runnable() {
private int count = 0; @Override
public void run() {
for (int i = 0; i < 10; i++) {
try {
// Thread.sleep(500); //sleep 单位是毫秒
TimeUnit.SECONDS.sleep(1); // 单位可以自定义,more convinent
} catch (InterruptedException e) {
e.printStackTrace();
}
count++;
System.out.println(count);
}
}
});
t.start();
}
}

作者:有苦向瓜诉说
链接:https://www.jianshu.com/p/4ab62e4a328f
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Java TimeUnit使用的更多相关文章

  1. java TimeUnit synchronized demo

    import java.util.concurrent.TimeUnit; public class TestCalc { private static boolean stopRequested=f ...

  2. java TimeUnit 的使用

    主要作用 时间颗粒度转换 延时 1.时间颗粒度转换 public long toMillis(long d) //转化成毫秒 public long toSeconds(long d) //转化成秒 ...

  3. java并发之TimeUnit理解

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

  4. 优先使用TimeUnit类中的sleep()

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

  5. TimeUnit类中的sleep() 和Thread.sleep()

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

  6. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  7. Java日期时间API系列5-----Jdk7及以前的日期时间类TimeUnit在并发编程中的应用

    TimeUnit是一个时间单位枚举类,主要用于并发编程,时间单元表示给定粒度单元的时间持续时间,并提供实用程序方法来跨单元转换,以及在这些单元中执行计时和延迟操作. 1.时间单位换算 (1)支持的单位 ...

  8. TimeUnit类 java.util.concurrent.TimeUnit

    TimeUnit是什么? TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段 主要作用 时间颗粒度转换 延时 常用的颗粒度 TimeUnit.DAYS ...

  9. java中的锁

    java中有哪些锁 这个问题在我看了一遍<java并发编程>后尽然无法回答,说明自己对于锁的概念了解的不够.于是再次翻看了一下书里的内容,突然有点打开脑门的感觉.看来确实是要学习的最好方式 ...

随机推荐

  1. Java基础拾遗(一) — 忽略的 Integer 类

    学习前我们先看一个笔者之前项目踩过的坑 public static void main(String[] args) { Integer a = 127; Integer b = 127; Syste ...

  2. Activiti流程图查看

    1.测试用例查看图片 public void viewImage() throws Exception { // 创建仓库服务对对象 RepositoryService repositoryServi ...

  3. [转]MEF学习

    MEF学习 :http://www.cnblogs.com/comsokey/p/MEF1.html C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo C#可扩展编程之MEF学习笔记( ...

  4. pg总览

    一.编译安装初始化等 ./configure --prefix=/release --with-openssl --without-ldap --with-libxml - -enable-threa ...

  5. js获取base64格式图片预览上传并用php保存到本地服务器指定文件夹

    html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  6. 滚动字幕标记<marquee></marquee>

    <marquee>滚动内容</marquee> 常用属性: Direction : 滚动方向 取值 up, down left right width  :滚动宽度 heigh ...

  7. 安装vmware和装虚拟机

    今日任务 .Linux发行版的选择 .vmware创建一个虚拟机(centos) .安装配置centos7 .xshell配置连接虚拟机(centos) 选择性 pc可以选择 -纯系统 Linux/w ...

  8. double转String

    两种方式: 1.value = new DecimalFormat().format(double); 2.value = String.valueOf(double); 要相保留所有的double位 ...

  9. Delphi的日志库

    1. 安装 Log4D下载: 官网地址 LoggerPro下载 GitHub地址 特点: log4d简单易用.性能稳定 LoggerPro貌似功能很强大,只是没有详细的文档,懒得翻源码 安装步骤 Lo ...

  10. linux命令补全工具

    一:下载bash-competion工具 https://files.cnblogs.com/files/zgngg/bash-completion.zip 二:解压  unzip bash-comp ...