【JUC】TimeUnit使用
概述
TimeUnit
是java.util.concurrent包下面的一个类。
TimeUnit
表示给定粒度单位的持续时间,并提供跨单元转换的实用方法,以及在这些单元中执行定时和延迟操作。
TimeUnit
不维护时间信息,而仅帮助组织和使用可能在各种上下文中单独维护的时间表示形式。 纳秒定义为千分之一微秒,微秒为千分之一毫秒,毫秒为千分之一秒,一分钟为六十秒,一小时为六十分钟,一天为二十四小时。
TimeUnit
主要用于通知基于时间的方法如何解释给定的定时参数
常用的颗粒度
TimeUnit.DAYS //天
TimeUnit.HOURS //小时
TimeUnit.MINUTES //分钟
TimeUnit.SECONDS //秒
TimeUnit.MILLISECONDS //毫秒
颗粒度转换
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));
}
}
延时,可替代Thread.sleep()。
示例一:
// Thread.sleep(500); //sleep 单位是毫秒
TimeUnit.SECONDS.sleep(1); // 单位可以自定义,more convinent
示例二:
//如果lock不可用,则以下代码将在50毫秒内超时:
if (lock.tryLock(50L, TimeUnit.MILLISECONDS))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix