java ScheduledThreadPoolExecutor在线程执行器中执行周期任务

是什么?为什么?怎么办?

 

一、是什么

ScheduledThreadPoolExecutor是ThreadPoolExecutor的子类,功能类似Timer,内置线程池,支持错误处理和并发。

二、为什么

提到周期任务就不得不提到Timer,但是Timer有其缺点:

java Timer的缺点

为了克服这些缺点,我们使用ScheduledThreadPoolExecutor执行周期任务。

三、怎么做

1.简单例子

执行结果:

2.如果某个周期任务报错

运行结果:

报错的周期任务不再周期执行,而其他的任务不受其影响,依旧按周期执行。

3.复杂一点的例子

执行一定次数之后,停止执行周期任务。

四、总结

要体会到ScheduledThreadPoolExecutor的优点。

发表评论

电子邮件地址不会被公开。 必填项已用*标注