Timer的缺陷
  1. Timer管理延时任务的缺陷
    Timer在执行定时任务时只会创建一个线程,所以如果存在多个任务,且任务时间过长,超过了两个任务的间隔时间,会发生一些缺陷。
  2. Timer当任务抛出异常时的缺陷
    如果TimerTask抛出RuntimeException,Timer会停止所有任务的运行。
  3. Timer执行周期任务时依赖系统时间
    Timer执行周期任务时依赖系统时间,如果当前系统时间发生变化会出现一些执行上的变化,ScheduledExecutorService基于时间的延迟,不会由于系统时间的改变发生执行变化。

使用ScheduledExecutorService代替Timer

暂无评论

发送评论 编辑评论


				
上一篇
下一篇