MST

星途 面试题库

面试题:Java中如何使用ScheduledThreadPoolExecutor实现简单的定时任务

请描述使用ScheduledThreadPoolExecutor创建一个延迟5秒执行一次任务,之后不再执行的Java代码实现步骤,并给出具体代码示例。
32.1万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. 创建ScheduledThreadPoolExecutor实例:使用ScheduledThreadPoolExecutor类创建一个线程池实例,指定线程池的大小。
  2. 定义要执行的任务:实现Runnable接口,定义具体的任务逻辑。
  3. 提交任务到线程池:使用ScheduledThreadPoolExecutorschedule方法,传入任务和延迟时间(单位为秒)。

示例代码如下:

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class ScheduledTaskExample {
    public static void main(String[] args) {
        // 创建ScheduledThreadPoolExecutor实例,线程池大小为1
        ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);

        // 定义要执行的任务
        Runnable task = () -> System.out.println("任务执行了");

        // 延迟5秒执行任务
        executor.schedule(task, 5, TimeUnit.SECONDS);

        // 关闭线程池
        executor.shutdown();
    }
}