gpt4 book ai didi

java - 关于Java中的定时器和定时器任务

转载 作者:行者123 更新时间:2023-12-02 12:16:09 27 4
gpt4 key购买 nike

假设我有一个当前正在运行的计时器,其中包含预定的 TimerTask。如果我调用 timer.cancel() ,是否也会杀死 TimerTask 中的所有变量,还是必须等待 GC?另外,我可以在调用 .cancel()

后重新分配新任务吗?
timer.cancel();
timer = new Timer();
messageTimer = new MessageTask();
timer.schedule(messageTimer, 1000, 1000);

或者是否有更合适的方法来替换原始计时器对象中的计时器任务,或者我什至没有想到的东西?

谢谢-T

最佳答案

在 Java 中,内存通过 GC 回收,但作为开发人员,一旦不再引用变量,它们就毫无用处(并准备好进行垃圾回收)。

在您的示例中,您通过使用 = 重新分配来创建一个新的计时器。如果没有更多的引用,旧的引用最终将被垃圾收集。

关于java - 关于Java中的定时器和定时器任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46167400/

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