我的事件定时器循环有什么问题?

时间:2013-08-02 02:04:58

标签: java timer scheduled-tasks

我有一个定时器设置应该每10秒运行一次代码,但它似乎只运行一次所需的代码。我无法弄清楚我做错了什么。 :{

    Timer timer = new Timer();

    timer.scheduleAtFixedRate(new TimerTask() {
          @Override
          public void run() {
                  System.out.println("it only prints this once");
          }
        }, 100, 100000);

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

scheduleAtFixedRate的最后两个论点似乎很奇怪。第一个总是0(这不是问题;只是意味着在第一次执行之前没有延迟)。第二个设置为2分钟,而不是0.1秒。该参数应该是以毫秒为单位的速率。 0.1秒,你应该使用100,而不是2 * 60 * 1000。

试试这个:

timer.scheduleAtFixedRate(new TimerTask() {
    @Override
    public void run() {
        System.out.println("it only prints this once");
    }
}, 100, 100);