Java 定时任务
在应用里经常都有用到在后台跑定时任务的需求。举个例子,比如需要在服务后台跑一个定时任务来进行非实时计算,清除临时数据、文件等。在本文里,我会给大家介绍3种不同的实现方法。
普通thread
1、这是最常见的,创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果。这样可以快速简单的实现,代码如下:

ScheduledExecutorService
1、ScheduledExecutorService是从Java SE 5的门钙蹲茌java.util.concurrent里,做为并发工具类被引进的,这是最理想的定时任务实现方式。相比于上两个方法,它有以下好处: 1. 相比于Timer的单线程,它是通过线程池的方式来执行任务的 2. 可以很灵活的去设定第一次执行任务delay时间 3. 提供了良好的约定,以便设定执行的时间间隔我们通过ScheduledExecutorService#scheduleAtFixedRate展示这个例子,通过代码里参数的控制,首次执行加了delay时间:
