TimerTask和线程在Java和Groovy中有什么不同?
发布于 2010-11-10 15:42:05
TimerTask和线程都是异步执行的,但是TimerTask被安排为以固定的时间间隔执行,而线程则不是。线程是用于在共享虚拟地址空间中并行执行的相当低级的原语,只要它在运行队列中,它就会运行,并得到一个turn来运行;TimerTask只有资格以它计划运行的固定间隔运行。
发布于 2010-11-10 16:47:19
无论您使用TimerTask还是Java运行它们,它们的行为都是相同的。
TimerTask使用计时器简化了一次性或重复任务的执行。除了定时器将在后台线程中执行这些任务这一事实之外,TimerTask实际上与线程没有任何关系(尽管这可以被认为是Timer类的实现细节)。
另一方面,thread是一个低级类,用于在单独的线程中并行执行任何东西,并且不提供任何计时或作业调度功能。
https://stackoverflow.com/questions/4142138
复制相似问题