为什么TimeUnit是java.util.concurrent的成员?

Java的TimeUnit枚举对于与时间有关的许多不同任务很有用,而不仅仅是并发;和其他类似Date的时间相关类是java.util的一部分.那么为什么TimeUnit是java.util.concurrent的成员?

解决方法

除了提供使用不同粒度时间的方法,TimeUnit还提供了诸如
timedJoin之类的线程感知方法:

public void timedJoin(Thread thread,
长时间超时)
抛出InterruptedException

我认为该类起源于帮助常见的并行编程任务,如延迟执行.因为它有两个不同的功能(管理时间粒度;应用时间概念到线程问题),这违反了single responsibility principle.

考虑到TimeUnit外部并发代码的实用性和受欢迎程度,一个更完善的解决方案可能是一个java.util.TimeUnit枚举,用于管理时间粒度,以及一个单独的java.util.concurrent类,用于线程中的应用程序.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。