java - Java 自动下载计时器

标签 java timer

我正在开发一个用 Java 编程的下载计时器。我的目标是在下载开始时自动启动计时器并在下载停止时停止计时器。我有一个基本的计时器,可以在程序启动时计算秒数,但我在自动化它时遇到了问题。我研究过java.io,但我不确定这是否是我需要的。

这是我到目前为止的代码:

package sciencePackage;

public class Timer extends Thread {
    @Override
    public void run() {
        super.run();
        try {

            for (int i = 1;i < 61; i++)  {

                this.sleep(1000);
                System.out.println("System is still running -- " + i );
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }


    }
}

最佳答案

创建一个 Timer 类对于您建议的用途来说似乎过多,更不用说已经有一个 Timer 了。 Java 中内置的类。但是,计时器最适合用于安排操作,而不是用于观察操作需要多长时间。

此外,在您发布的代码中,您甚至在开始计时之前就已经完成了 super.run() 。此时,您的计时器就没有什么可等待的了,除非您的下载是在您没有告诉我们的不同线程上进行的。

相反,您可能可以做一些更简单的事情,如下所示:

public void run() {
    long startTime = System.nanoTime();
    super.run(); 
    long endTime = System.nanoTime();
    System.out.println("Download Time: " + (end - start) / 1.0e9 + " seconds");
}

关于java - Java 自动下载计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22135806/

相关文章:

java - JAX-RS,带有 JAXB @XmlTransient

javascript - 计时器用完后如何打开模态弹出窗口?

javascript - 模拟类似于尘埃粒子的运动

c# - 时间触发的 Azure Functions

c# - 如何为常规事件实现计时器?

java - 如何在请求对象中调用 setParameter?

java - 我的 Spring Boot 应用程序加载后立即退出,不会出现错误

java - 使用 Apache FOP 从大图像生成 PDF

java - 在android中更改语言时如何更改操作栏语言

c# - System.Timers.Timer 生命周期