如何通过计算机实现Java Timer?

use*_*692 8 java timer

与Timer相关的网站上的文章谈到了如何使用Timer进行编程.

我问了一个不同的问题.Java如何执行Timer方法?

因为据说通过不使用while循环来检查当前时间是否是所需的时间点来避免耗时的工作,我认为Timer不是简单地通过使用while循环来连续检查并将当前时间与所需时间进行比较来实现的.时间点.

谢谢!

FDi*_*off 2

根据javadoc

此类不提供实时保证:它使用 Object.wait(long) 方法来安排任务。

如果你查看代码,你会发现一个称为主循环的方法。前几行复制如下。

private void mainLoop() {
    while (true) {
        try {
Run Code Online (Sandbox Code Playgroud)

而且...它在内部使用 while 循环来Object.wait()进行等待。