时间间隔 Java

Time interval in Java

如何在一个时间间隔后调用一个方法? 例如,如果想在 2 秒后在屏幕上打印一条语句,它的过程是什么?

System.out.println("Printing statement after every 2 seconds");

答案是同时使用 javax.swing.Timer 和 java.util.Timer:

    private static javax.swing.Timer t; 
    public static void main(String[] args) {
        t = null;
        t = new Timer(2000,new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("Printing statement after every 2 seconds");
                //t.stop(); // if you want only one print uncomment this line
            }
        });

        java.util.Timer tt = new java.util.Timer(false);
        tt.schedule(new TimerTask() {
            @Override
            public void run() {
                t.start();
            }
        }, 0);
    }

显然你可以只使用java.util.Timer实现2秒的打印间隔,但是如果你想在打印一次后停止它就很难了。

此外,不要在代码中混用线程,而无需线程即可!

希望这会有所帮助!

创建 Class:

class SayHello extends TimerTask {
    public void run() {
       System.out.println("Printing statement after every 2 seconds"); 
    }
}

从您的主要方法中调用相同的方法:

public class sample {
    public static void main(String[] args) {
        Timer timer = new Timer();
        timer.schedule(new SayHello(), 2000, 2000);

    }
}

可以使用Timer来实现class

new Timer().scheduleAtFixedRate(new TimerTask(){
            @Override
            public void run(){
               System.out.println("print after every 5 seconds");
            }
        },0,5000);