【问题标题】:Invoke method on regular intervals using Java [closed]使用Java定期调用方法[关闭]
【发布时间】:2015-04-08 10:20:24
【问题描述】:

我需要在不使用 Timer 类的情况下定期调用一个方法。该方法将由多线程调用。

【问题讨论】:

标签: java multithreading timer threadpool executorservice


【解决方案1】:

您可以使用ExecutorService,如ScheduledExecutorService 及其scheduleAtFixedRate 方法。

ScheduledExecutorService exec = Executors.newScheduledThreadPool(4);
exec.scheduleAtFixedRate(
    new Runnable(){
        @Override
        public void run() {
            System.out.println("hello");
        }
    }
    ,0, 1, TimeUnit.SECONDS
    //initialDelay, period, unit
);

exec.scheduleAtFixedRate(
    () -> System.out.println("world"),
    500, 1000, TimeUnit.MILLISECONDS
    //initialDelay, period, unit
);

【讨论】:

    【解决方案2】:

    您可以使用 Thread.sleep(milliseconds),其中 milliseconds 是以毫秒为单位的间隔。

    【讨论】:

      猜你喜欢
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 2012-07-10
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多