一、TimeUnit和Thread.sleep()
TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep()。
大部分的程序员都已经熟悉了Thread.sleep(),并把它当成了我们的一种习惯。
举个例子:
Thread.sleep(1200000);
当我们看到这段代码的时候,括号里面的是毫秒,我们需要单位的换算才会有个大致的了解到底睡眠了多少时间。
我们再看看TimeUnit:
TimeUnit.MINUTES.sleep(4);
我们就可以很清楚的看到,该线程睡眠了4分钟。
关于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 毫秒的工具类
可以进行时间单位的换算。
二、总结
以后我们用到Thread.sleep()的时候,我们尽可能的用TimeUnit来替换它,这样不仅可以提高代码的可读性,也可以增加我们对java.util.concurrent的熟悉。因为TimeUnit是java.util.concurrent的一个重要的API。
注:初学者,写的不好请见谅,如有相关问题记得私信我