Java

java settimeout 能重复调用吗

小樊
81
2024-11-29 11:18:43
栏目: 编程语言

在Java中,setTimeout是一个异步调用方法,它用于在指定的毫秒数后执行一个函数或代码块。然而,setTimeout本身不能重复调用。如果你想要重复执行某个操作,你需要在每次执行完毕后再次调用setTimeout

以下是一个简单的示例,展示了如何使用setTimeout重复调用一个函数:

function myFunction() {
  console.log("Function executed");
  setTimeout(myFunction, 1000); // 1000毫秒后再次调用myFunction
}

setTimeout(myFunction, 1000); // 首次调用myFunction,1000毫秒后执行

在这个示例中,myFunction会在首次调用后的1000毫秒执行,然后再次调用自身,如此循环往复。请注意,这个示例使用的是JavaScript,而不是Java。在Java中,你可以使用ScheduledExecutorService来实现类似的功能。以下是一个Java示例:

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class RepeatFunction {
    public static void main(String[] args) {
        Runnable myTask = () -> System.out.println("Function executed");
        ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);

        executor.scheduleAtFixedRate(myTask, 0, 1, TimeUnit.SECONDS);
    }
}

在这个Java示例中,我们使用ScheduledExecutorService创建了一个定时任务,它会每隔1秒执行一次myTask函数。这样,myTask函数就会重复执行。

0
看了该问题的人还看了