Java

java settimeout 是否支持回调函数

小樊
82
2024-11-29 11:04:42
栏目: 编程语言

Java 本身没有直接支持 setTimeout 的功能,但你可以使用 ScheduledExecutorService 来实现类似的功能。ScheduledExecutorService 允许你在指定的延迟后执行一个任务,或者定期执行一个任务。这里有一个使用 ScheduledExecutorService 实现类似 setTimeout 的例子:

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

public class TimeoutExample {
    public static void main(String[] args) {
        // 创建一个具有单个线程的 ScheduledExecutorService
        ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();

        // 要执行的任务
        Runnable task = () -> System.out.println("Task executed after timeout");

        // 设置延迟时间
        long delay = 3; // 3 seconds

        // 使用 schedule 方法执行任务
        executor.schedule(task, delay, TimeUnit.SECONDS);

        // 在任务执行完成后关闭 executor
        executor.shutdown();
    }
}

在这个例子中,我们创建了一个 ScheduledExecutorService,然后使用 schedule 方法在指定的延迟后执行一个任务。这与 JavaScript 的 setTimeout 类似,但它使用的是 Java 语言的特性。

0
看了该问题的人还看了