java : Timer
Posted 不会游泳的鱼~~~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java : Timer相关的知识,希望对你有一定的参考价值。
用同一个Timer schedule 多个task有问题吗?
Java的一个Timer对象本身只有一个线程,如果向他提交多个task,并且某个task相当耗时的话,其他的task即使到了执行时间,仍然会等之前的task执行完毕。
更有问题,如果前一个task抛出了异常导致线程终止,后面的task将无法执行。
Java5以后推荐采用java.util.concurrent的ScheduledExecutorService,至少能避免异常导致线程结束的问题。
如果对时间有比较准确的需要,务必一个ScheduledExecutorService处理一个任务。
另外一说,每天定时执行的任务,用Windows的任务计划,Linux的crond执行一个Java的Application就可以实现,何必用Java的定时器让进程常驻,运行的越久。
以上是关于java : Timer的主要内容,如果未能解决你的问题,请参考以下文章