我在这个答案的评论以及许多其他关于调度的问题(抱歉,没有参考资料)中读到 java.util.Timer
已经被弃用。我真的希望不是这样,因为我正在使用它作为Java中轻量级的定时器(而且它工作得很好)。但如果它已被弃用,那我就要找别的解决方案了。 然而,快速查看1.6版本的API文档并没有提到它已经被弃用。 它甚至没有出现在 Sun 的Deprecated List 中。
它是否被正式弃用了*?如果是,我应该使用什么替代品?
* 另一方面,如果它没有被弃用, 人们能否停止诋毁这个无辜而精妙实现的类集合?
java.util.Timer
的编写远非出色。它缺乏灵活性,难以编写可测试的代码。ScheduledExecutorService
在各个方面都更好。 - skaffmanScheduledExecutorService
是否像Timer
一样轻量级。它只是在Object.wait(long)
上包了一个薄薄的包装...那么Scheduled...
呢? - Dan Rosenstarkjava.util.concurrent
相关内容(包括ScheduledExecutorService
)被设计用于极高的吞吐量,而Timer
从未达到过这个水平。 - skaffman