gpt4 book ai didi

java - 如何在Java中创建一个可以多次使用的计时器

转载 作者:行者123 更新时间:2023-12-01 11:38:22 24 4
gpt4 key购买 nike

我想为多个请求运行计时器。如果我收到一个请求,我将运行计时器1000ms,如果我收到另一个请求,我需要更新计时器。如果我在 1000ms 内没有收到任何请求,我需要退出该进程。

如何实现这样的定时器?我无法使用计时器任务执行操作。

最佳答案

您可以使用ScheduledExecutorService

示例如下:

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

public class A {

public static void main(String[] args) {
Runnable terminate = new Runnable() {
@Override
public void run() {
System.out.println("Terminate task executed");
}
};
ScheduledExecutorService timer = Executors.newSingleThreadScheduledExecutor();
ScheduledFuture<?> futureTask = timer.schedule(terminate, 1, TimeUnit.SECONDS);
futureTask.cancel(true);
System.out.println("Timer Canceled");
futureTask = timer.schedule(terminate, 1, TimeUnit.SECONDS);
futureTask.cancel(true);
System.out.println("Timer Canceled");
}

}

如果运行它,您将看到终止任务永远不会运行,因为它在 1 秒过去之前被取消

关于java - 如何在Java中创建一个可以多次使用的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29769379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com