java - Java 定时器和 TimerTask

标签 java timer timertask

我希望我的程序打印Hello User,十秒后打印Ten Seconds Have Gone By,最后几秒后打印Goodbye User。我只是不知道从什么或如何开始做到这一点。谢谢

代码如下:

import java.util.Timer;
import java.util.TimerTask;
public class S1p4 {
    public static void main(String[] args) {
        Timer timer = new Timer();
        Task task = new Task();
        timer.schedule(task, 1000, 1000);

}

}

class Task extends TimerTask {

    int i=1;
    @Override
    public void run() {
        i++;

        System.out.println("Hello User");


        if(i<=10){
            System.out.println("Ten Seconds Have Gone By");
    }

        System.out.println("Goodbye User");
            cancel();

            System.exit(0);

  }

}

编辑1:如果我取出System.exit();,它会运行良好,但是我会用什么替换它?因为我不想要一个必须停止的程序。

最佳答案

您使用的计时器没问题,我们只需应用 Thread.sleep 即可解决您的问题。

class Task extends TimerTask {


    @Override
    public void run() {

        System.out.println("Hello User");

        try {

            Thread.sleep(10000);

            System.out.println("Ten Seconds Have Gone By");

            Thread.sleep(5000);

            System.out.println("Goodbye User");

        } catch (InterruptedException e) {
            e.printStackTrace();
        }


    }
}

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

相关文章:

java - java中(char)temp和Character.toChars(temp)和String.valueOf(Character.toChars(temp))有什么区别

c++ - 主程序中的 boost 定时器中断

java - 蛇与梯子 - 在计算机转弯和掷骰子上添加延迟

java - 如何将 JSP 的提交按钮映射到 servlet?

java - 在 JAXB 中编码抽象类的数组列表

java - Java 中必须捕获传播的异常吗?

每 X 秒触发一次的 C# 计时器,但与实时保持同步(即没有漂移)

java - 与 NullPointerException 作斗争

java - 每 x 秒发送一次通知

java - 推迟定时器安排java