【问题标题】:Creating an interval in java [duplicate]在java中创建间隔[重复]
【发布时间】:2026-02-04 12:35:02
【问题描述】:

我需要在我的 java 项目中每 10 秒运行一次函数。 我希望它像一个无限循环,但不使用 while(true) 或 thread.sleep...

有什么想法吗?

【问题讨论】:

  • 你自己有没有想过什么?也许你应该看看Timer 类。

标签: java multithreading infinite-loop intervals


【解决方案1】:

这或多或少是Making a Thread to Sleep for 30 minutes 的副本。这个问题提到了ScheduledExecutorService,我已经使用过并且非常满意。它有点重量级,所以 Timer 可能就是你所需要的。 Java Tutorial 有一个很好的例子来说明如何使用它。

【讨论】:

    【解决方案2】:

    您可以将Timer 与方法一起使用:

    Timer.scheduleAtFixedRate(TimerTask task, long delay, long period)
    

    这里,task 是您要执行的任务(派生自 TimerTask),period 是执行两个任务之间的时间(以毫秒为单位),delay 是以毫秒为单位的延迟之前 每次执行。

    【讨论】: