码迷,mamicode.com
首页 > 编程语言 > 详细

java : Timer

时间:2020-03-12 12:48:59      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:比较   任务计划   windows   timer   task   执行时间   异常   linu   dex   

 

用同一个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

标签:比较   任务计划   windows   timer   task   执行时间   异常   linu   dex   

原文地址:https://www.cnblogs.com/xiaohuizhenyoucai/p/12468296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!