利用java.util.TimerTask
java.util.Timer t = new java.util.Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("This will run every 5 seconds");
}
}, 5000, 5000);
如果您使用的是 GUI,则可以使用javax.swing.Timer
示例:
int delay = 5000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
System.out.println("This will run every 5 seconds");
}
};
new javax.swing.Timer(delay, taskPerformer).start();
java.util.Timer
关于和之间区别的一些信息:http java.swing.Timer
:
//docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html
它和 javax.swing.Timer 都提供相同的基本功能,但 java.util.Timer 更通用,功能更多。javax.swing.Timer 有两个特性可以使它更容易与 GUI 一起使用。首先,它的事件处理隐喻对于 GUI 程序员来说是熟悉的,并且可以使处理事件分派线程更简单一些。其次,它的自动线程共享意味着您不必采取特殊步骤来避免产生过多线程。相反,您的计时器使用与使光标闪烁、工具提示出现等相同的线程。