ScheduledExecutorService使用
时间: 2023-11-04 16:52:20 浏览: 124
ScheduledExecutorService是一个接口,它是ExecutorService的子接口。它提供了一种可以在指定的延迟之后或者定期执行任务的方法。
使用ScheduledExecutorService的步骤如下:
1. 创建ScheduledExecutorService对象:可以使用Executors工厂类的方法创建一个ScheduledExecutorService对象,例如:ScheduledExecutorService executorService = Executors.newScheduledThreadPool(5);
2. 使用schedule方法执行延迟任务:通过调用executorService的schedule方法,可以在指定的延迟时间之后执行任务。例如,executorService.schedule(task, delay, TimeUnit.SECONDS),其中task是要执行的任务,delay是延迟时间,TimeUnit.SECONDS是时间单位。
3. 使用scheduleAtFixedRate方法执行定期任务:通过调用executorService的scheduleAtFixedRate方法,可以定期执行任务。例如,executorService.scheduleAtFixedRate(task, initialDelay, period, TimeUnit.SECONDS),其中task是要执行的任务,initialDelay是初始延迟时间,period是任务执行的周期,TimeUnit.SECONDS是时间单位。
4. 使用scheduleWithFixedDelay方法执行定期任务:通过调用executorService的scheduleWithFixedDelay方法,可以定期执行任务,并且每次任务执行完之后,会等待一段固定的时间再执行下一次任务。例如,executorService.scheduleWithFixedDelay(task, initialDelay, delay, TimeUnit.SECONDS),其中task是要执行的任务,initialDelay是初始延迟时间,delay是任务执行完之后的延迟时间,TimeUnit.SECONDS是时间单位。
需要注意的是,ScheduledExecutorService返回的是一个ScheduledFuture对象,可以使用ScheduledFuture对象来获取任务的执行结果或者取消任务的执行。
总结起来,使用ScheduledExecutorService可以方便地执行延迟任务和定期任务,并且提供了更灵活的控制和管理任务的方法。
阅读全文