public static void main(String[] args) {

        Timer ttt = new Timer();
        TimerTask test = new TimerTask() {

            @Override
            public void run() {

                System.out.println("IN");
                        }
                 };

        ttt.schedule(test, 1000);
}


本来应该每秒打印“ IN”,但是只打印一次。有小费吗?谢谢

什么

最佳答案

您正在使用schedule的一次性版本。只需使用接受间隔时间的overloaded version

ttt.schedule(test, 0, 1000);




另外:较新的ExecutorService优于java.util.Timer。计时器只有一个执行线程,因此长时间运行的任务可能会延迟其他任务。 ExecutorService可以使用线程池进行操作。讨论更多here

10-06 05:50
查看更多