`

五十一:观察者模式与Swing定时器

阅读更多
在很多系统中,定时器都扮演着重要角色,有些任务必须按照一定的时间安排反复执行,有些任务必须在一段时间间隔后一次性执行,这些情况都需要运用定时器.从java1.3版本开始,定时器成为java.util库包的成员,值得研究的还有一个同时出出在swing库包中的定时器类,即javax.swing.Timer类,本章将详细说明这个Swing库包中的定时器的使用,它所蕴涵的模式以及它与java.util.Timer的区别.本章根据它们的米源把java.util.Timer叫做Utility定时器,而把swing库包所提供的Timer叫做swing定时器.一般来说,如果所需要定时的功能与swing无关的话,应当使用Utility定时器,而如果设计的系统和所定时的功能是与swing密切相关的话,就应当考虑使用swing定时器. 

一:两种定时器的区别
(1)Swing定时器类使用一个线程处理所有的定时对象,因而不宜用来同时处理大量的定时对象,而Utility定时器则不然,它为每一个定时对象提供一个独立的线程,因此如果所设计的系统要求大量的定时器对象的话,则使用Utility定时器才可满足要求. 
(2)在使用上,Swing定时器类需要一个Action对象,以封装定时的时为,而Utility定时器则每一个被定时的任务创建一个TimerTask对象,以封装被定时的行为。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics