TimeUnit是java.util.concurrent包下的一个枚举类,其主要封装了时间单位之间的转换以及基于时间上对线程的基本操作(sleep,join,wait);其主要特色是对时间操作提供了较好的可读性,同时也是对枚举语法理解的一个较好的例子。
直接上 TimeUnit 与Thread 的对比:
TimeUnit.MILLISECONDS.sleep(10); TimeUnit.SECONDS.sleep(10); TimeUnit.MINUTES.sleep(10); --------------------------------------------------------- Thread.sleep(10); Thread.sleep(10*1000); Thread.sleep(10*60*1000);;
TimeUnit 使用的是调用函数的方式 比Thread 操作起来更方便 。
j常用的方法:
//关于秒的常用方法 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 毫秒的工具类
需要用到sleep 的时候 推荐使用 TimeUnit.SECONDS.sleep();
至于为什么 看看大佬的分析:
http://stevex.blog.51cto.com/4300375/1285767