如何每隔1分钟调用ManagedScheduledExecutorService 10分钟,但不是无限期

时间:2017-05-26 03:51:39

标签: java

我想使用ManagedScheduledExecutorService - scheduleAtFixedRate触发一项任务,该任务需要每隔1分钟运行10分钟,但只有ManagedScheduledExecutorService我无法办理那。它只需要任务,初始延迟,周期和时间单位作为参数,并且无限期地运行。

示例代码:

class TestDisplayMessage {

    private final ScheduledExecutorService scheduler
        = Executors.newScheduledThreadPool(1);

    public static void main(String[] args) {
        TestDisplayMessage testDisplayMessage = new TestDisplayMessage();
        testDisplayMessage.displayMessage();

   }


   public void displayMessage() {
       final Runnable display = new Runnable() {
           public void run() {
               System.out.println("scheduleAtFixedRate");
           }
       };

       scheduler.scheduleAtFixedRate(display, 1, 1, MINUTES);
   }
}

我想只显示10次消息,即在1分钟的初始延迟后,任务将运行,然后在每1分钟(周期参数)之后,它将显示消息并继续。我希望它只显示10次,即10分钟,这只需要在我的情况下运行一段特定时间10分钟,而不是无限期。

请告知。

由于

0 个答案:

没有答案