Executor服务每隔x秒运行一次

Bis*_*128 3 java concurrency

让执行程序服务每x秒提交一次的正确方法是什么?

public void start() {
    executorService.submit(new Runnable() {
        public void run(){
            ScheduledFuture<Integer> result = executorService.schedule(value, x, TimeUnit.SECONDS);
    });
}
Run Code Online (Sandbox Code Playgroud)

将run方法的内容包装一段时间(!Thread.currentThread().isInterrupted())是一种有效的方法 - 如果不是,应该如何做?

谢谢

Jea*_*art 11

用途ScheduledExecutorService:

ScheduledExecutorService ses = Executors.newScheduledThreadPool(10);
ses.scheduleAtFixedRate(new Runnable() {
    @Override
    public void run() {
        // do some work
    }
}, 0, x, TimeUnit.SECONDS);  // execute every x seconds
Run Code Online (Sandbox Code Playgroud)