java Timer.schedule在Windows系统上运行不正常

时间:2016-10-08 13:21:25

标签: java timer schedule

我在java中创建了一个打字游戏的项目。我使用java.util.Timer.schedule设置一个Timer重绘我的窗口。代码在这里:

timer.schedule(new TimerTask() {
    @Override
    public void run() {
        // Some other codes ...
        repaint();
    }
}, 0, 1000 / HZ);

HZ是200,代码在Ubuntu上工作得很好但是当我在Windows上运行时,它显然比在Ubuntu上慢,我对此感到困惑。

1 个答案:

答案 0 :(得分:0)

对应每个Timer对象是一个后台线程,用于按顺序执行所有计时器的任务。计时器任务应该快速完成。如果计时器任务花费过多时间来完成,它会“占用”计时器的任务执行线程。反过来,这可以延迟后续任务的执行,这些后续任务可能会在违规任务最终完成时(以及如果)快速连续地“聚集”并执行。

参考:https://docs.oracle.com/javase/7/docs/api/java/util/Timer.html