本节讲创建线程的第五种方式:定时器。
定时器其实也是相当于开辟一个线程来进行执行定时任务,就是我们所熟悉的Timer类,我们来看一下它的用法,其实定时器还是非常有用的,比如说我们想在某一个时间点上执行一件事,比如说,我们凌晨要跑数据,比如说,我们要实现20分钟之后提示我们一些事等等,都可以通过定时器来执行。定时器,关于定时任务,除了JDK所给我们提供的Timer类这个API以外,还有很多的第三方的关于定时的任务的框架,比如Spring就对定时任务进行非常好的支持,还有一个非常强大的关于计划任务的框架叫quartz,quartz也是说的企业中我们做定时任务的专门的一个系统。
下面看一下定时器的实现,我们想实现一个定时的任务,我们就可以通过schedule()这个方法来提交一个定时任务,定时任务就是TimerTask task,后面那个参数就是,你可以通过指定延迟多长时间执行,等等。
比如说,我们想让它立刻执行,然后每隔5秒执行一次,那么,我们就可以使用这个构造方法
首先
首先new TimerTask,我们发现TimerTask是一个抽象类
它也实现了Runnable接口
在这个run()方法里面就可以实现定时任务,这也是定时任务的代码体部分。我们设置延迟0,设置每隔1s执行一次