时间间隔 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);
如何在一个时间间隔后调用一个方法? 例如,如果想在 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);