scheduleatfixedrate是否支持任务取消

   2024-09-30 4440
核心提示:scheduleAtFixedRate 方法本身不支持任务的取消。但是,你可以使用 ScheduledFuture 对象来取消一个已经调度的任务。当你使用 sc

scheduleAtFixedRate 方法本身不支持任务的取消。但是,你可以使用 ScheduledFuture 对象来取消一个已经调度的任务。

当你使用 scheduleAtFixedRate 方法时,它会返回一个 ScheduledFuture 对象。你可以使用这个对象的 cancel() 方法来取消任务。下面是一个简单的示例:

import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.ScheduledFuture;import java.util.concurrent.TimeUnit;public class ScheduleAtFixedRateExample {    public static void main(String[] args) {        ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);        Runnable task = () -> System.out.println("Task is running");        ScheduledFuture<?> scheduledFuture = executor.scheduleAtFixedRate(task, 0, 1, TimeUnit.SECONDS);        try {            Thread.sleep(5000);        } catch (InterruptedException e) {            e.printStackTrace();        }        // Cancel the task        scheduledFuture.cancel(true);        executor.shutdown();    }}

在这个示例中,我们创建了一个 ScheduledExecutorService,并使用 scheduleAtFixedRate 方法调度一个任务。然后,我们使用 ScheduledFuture 对象的 cancel() 方法在 5 秒后取消任务。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号