1
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”,但它只打印一次。有小费吗?谢谢

什么

4

1 回答 1

2

您正在使用schedule. 只需使用接受间隔时间的重载版本:

ttt.schedule(test, 0, 1000);

旁白:较新的ExecutorService优于java.util.Timer. 定时器只有一个执行线程,所以长时间运行的任务会延迟其他任务。可以ExecutorService使用线程池进行操作。在这里讨论更多

于 2013-04-20T00:29:16.200 回答