使用Java定期调用方法

Raa*_*thi -2 java multithreading timer executorservice threadpool

我需要定期调用一个方法而不使用Timer类.该方法将由多线程调用.

Psh*_*emo 5

你可以使用ExecutorServicelike 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
);
Run Code Online (Sandbox Code Playgroud)