gpt4 book ai didi

java - 无限的TimerTask方法调用

转载 作者:行者123 更新时间:2023-12-02 05:28:18 26 4
gpt4 key购买 nike

也许你可以帮助理解一些关于 TimerClass 的事情:

假设我有一个计时器

Timer timer = new Timer();

还有一个数据获取任务

timer.shedule(new DataFetcher, 0, time);

假设执行任务的时间间隔很短,加上理论上无限运行的程序,是否会出现这样的情况:当周期足够短或任务执行时间太长时,我最终会得到大量的 DataFetcher 实例?如果我改变计划

DataFetcher df = new DataFetcher();
timer.shedule(df, 0, time);

这能确保我始终使用相同的任务实例吗?我尝试模拟它,以估计行为,但我有点卡住了。

问候

请注意,我使用 j2me 在移动设备上工作。我知道 std java 中的计时器替代品,但我猜它不适合微型版本。

最佳答案

您的两个版本是相同的:您将只有一个 DataFetcher 实例,这是执行此操作的正确方法。

此外,来自documentation :

In fixed-delay execution, each execution is scheduled relative to the actual execution time of the previous execution. If an execution is delayed for any reason (such as garbage collection or other background activity), subsequent executions will be delayed as well.

因此任务不会累积,而是一个接着一个执行。

关于java - 无限的TimerTask方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25789318/

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