java定时器与线程的区别

如题所述

javax.swing.Timer
尽管所有 Timer 都使用一个共享线程(由第一个执行操作的 Timer 对象创建)执行等待,但是 Timer 的动作事件处理程序还会在其他线程(事件指派线程上)执行。这意味着 Timer 的操作处理程序可以安全地在 Swing 组件上执行操作。但是,它也意味着处理程序必须快速执行以保证 GUI 作出响应。
java.util.Timer
一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。
简单理解,javax.swing.Timer没有增加线程,利用事件线程的间隙运行,java.util.Timer增加线程了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-01
定时器内部有一个线程,就是这么简单追问

定时器总有线程没有的特点吧?要不然人们为何简单的线程不用,而去折腾出java定时器?

追答

定时器是对线程的封装,使用起来更加简单,也许还会涉及到时间精度和线程安全什么的,我就不清楚了,反正用起来比较方便就是了,就像你做一个字符串连接,用字符数组也行,用StringBuffer也行,为什么不用后者呢?

追问

好嘞,虽说目前还不知道定时器较线程的优越性。但还是谢谢你的关注。

追答

我没用过定时器,你自己多用用就了解了,加了个油~