KaTool
Home
Redis工具包
Excel工具包
图片与Base64转换工具包
  • IP地址工具包(Nginx反向代理解决)
  • 身份证校验工具包
  • 验证码工具包
  • AuthUtil
  • KaTool-Security鉴权框架
  • 七牛云SDK(V1.9.5.BETA及其之前)
  • 综合SDK(V1.9.5.GAMA及其之后)
  • Kimi
定时任务调度
类加载和Bean管理
  • KaTool
  • KaToolTest
  • 在github上修改本页面
  • Karos'Blog
Home
Redis工具包
Excel工具包
图片与Base64转换工具包
  • IP地址工具包(Nginx反向代理解决)
  • 身份证校验工具包
  • 验证码工具包
  • AuthUtil
  • KaTool-Security鉴权框架
  • 七牛云SDK(V1.9.5.BETA及其之前)
  • 综合SDK(V1.9.5.GAMA及其之后)
  • Kimi
定时任务调度
类加载和Bean管理
  • KaTool
  • KaToolTest
  • 在github上修改本页面
  • Karos'Blog
  • ScheduledTaskUtil API 文档

ScheduledTaskUtil API 文档

简介

ScheduledTaskUtil 是一个工具类,位于 cn.katool.util 包中,提供了调度任务的功能。它使用了 ScheduledThreadPoolExecutor 来执行任务。

使用方法

1. 提交任务

1.1 提交 Runnable 任务

ScheduledFuture<?> schedule = ScheduledTaskUtil.submitTask(() -> {
    // 运行的代码逻辑
}, 5, TimeUnit.SECONDS);

此方法提交一个 Runnable 任务,延迟 5 秒后开始执行,然后以固定的间隔重复执行。

1.2 提交 Callable 任务

ScheduledFuture<?> schedule = ScheduledTaskUtil.submitTask((Callable<?>) () -> {
    // 运行的代码逻辑
    return null;
}, 5, TimeUnit.SECONDS);

此方法提交一个 Callable 任务,延迟 5 秒后开始执行,然后以固定的间隔重复执行。

1.3 提交带初始延迟的 Runnable 任务

ScheduledFuture<?> schedule = ScheduledTaskUtil.submitTask(() -> {
    // 运行的代码逻辑
}, 2, 5, TimeUnit.SECONDS);

此方法提交一个 Runnable 任务,初始延迟 2 秒后开始执行,然后以固定的间隔 5 秒重复执行。

1.4 提交带初始延迟的 Callable 任务

ScheduledFuture<?> schedule = ScheduledTaskUtil.submitTask((Callable<?>) () -> {
    // 运行的代码逻辑
    return null;
}, 2, 5, TimeUnit.SECONDS);

此方法提交一个 Callable 任务,初始延迟 2 秒后开始执行,然后以固定的间隔 5 秒重复执行。

注意事项

  • 该工具类使用 ScheduledThreadPoolExecutor,并配置了最大线程数为 500。
  • 任务执行策略为 CallerRunsPolicy,即如果线程池被占满,后续任务将由调用线程直接执行。
private static ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(500,
        Executors.defaultThreadFactory(),
        new ThreadPoolExecutor.CallerRunsPolicy());

示例

// 提交一个简单的 Runnable 任务,延迟 5 秒执行,然后以 10 秒的间隔重复执行
ScheduledFuture<?> schedule = ScheduledTaskUtil.submitTask(() -> {
    System.out.println("Task executed!");
}, 5, 10, TimeUnit.SECONDS);

请根据您的具体需求使用上述方法,灵活配置任务的延迟和间隔时间。

Last Updated:
Contributors: ZonglinWu