java.util.concurrent.TimeUnit

x33g5p2x  于2022-03-06 转载在 Java  
字(1.6k)|赞(0)|评价(0)|浏览(386)

JavaAPI:https://docs.oracle.com/javase/8/docs/api/index.html

1 TimeUnit

api:https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html

TimeUnit是java.util.concurrent包下面的一个类;TimeUnit 是Java枚举应用场景中最好的例子之一,所有TimeUnit都是枚举实例;

TimeUnit提供了更加优雅的线程sleep写法;TimeUnit还提供了各种时间单位转换的方法;

NANOSECONDS     //毫微秒  十亿分之一秒【1微秒/1000】
MICROSECONDS    //微秒    一百万分之一秒【1毫秒/1000】
MILLISECONDS    //毫秒    千分之一秒    
SECONDS         //秒
MINUTES         //分钟
HOURS           //小时
DAYS            //天
//NANOSECONDS MICROSECONDS MILLISECONDS SECONDS MINUTES HOURS DAYS 
Arrays.stream(TimeUnit.values())
        .forEach((item -> System.out.print(item + " ")));

2 线程睡眠

Modifier and TypeMethod and Description
static voidsleep(long millis)Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds, subject to the precision and accuracy of system timers and schedulers.
static voidsleep(long millis, int nanos)Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds plus the specified number of nanoseconds, subject to the precision and accuracy of system timers and schedulers.

TimeUnit提供了更加优雅的线程睡眠写法

//休眠40分种的三种写法
//
Thread.sleep(2400000);
//
Thread.sleep(40 * 60 * 1000);
// 可读性增强了
TimeUnit.MINUTES.sleep(40);

3 时间单位转换

//sleep 40分组
Thread.sleep(2400000);
 
Thread.sleep(TimeUnit.MINUTES.toMillis(40));
Modifier and TypeMethod and Description
longconvert(long sourceDuration, TimeUnit sourceUnit)Converts the given time duration in the given unit to this unit.
//天转化成小时
TimeUnit.HOURS.convert(3, TimeUnit.DAYS); //72
//小时转化为秒
TimeUnit.SECONDS.convert(1, TimeUnit.HOURS);//3600
Modifier and TypeMethod and Description
longtoDays(long duration)Equivalent to DAYS.convert(duration, this).
//天转化为小时
TimeUnit.DAYS.toHours(3); //72
//小时转化为秒
TimeUnit.HOURS.toSeconds(1); //3600

相关文章

最新文章

更多