17-自定义在一个周期调度性线程池中运行的任务
8.6 自定义在一个周期调度性线程池中运行的任务
周期调度性线程池(Scheduled thread pool)是一个 Executor
框架的基本线程池的扩展,它允许在一段时间间隔后周期性地执行任务。它由 ScheduledThreadPoolExecutor
类来实现,并且允许执行以下两种任务。
- 延迟任务 (Delayed task):这种任务都是在一段时间后一次性地执行。
- 周期任务 (Periodic task):这种任务都是在一个延迟时间后永久周期性地执行。
虽然延迟任务可以执行 Callable
和 Runnable
对象,但是周期任务只能执行 Runnable
对象。所有任务都由一个实现 RunnableScheduledFuture
接口的周期线程池所执行。本节将介绍如何设计属于自己的 RunnableScheduledFuture
接口的实现类,并且用它来执行延迟和周期两种任务。