使用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);
如果您使用的是圖形用戶界面,你可以使用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://docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html
該類和javax.swing.Timer的基本功能相同,但 java.util.Timer更常用,功能更多。 javax.swing.Timer具有兩個功能,可以使其更容易與 一起使用。首先,它的事件處理隱喻是GUI 程序員熟悉的,並且可以使處理事件分派線程更簡單一點。其次,它的自動線程共享意味着你不要 必須採取特殊步驟來避免產生太多的線程。 相反,您的計時器使用與使光標閃爍, 工具提示出現等相同的線程。
*「這將運行每隔3秒」 * - 不,它不會),這還假定用戶沒有使用某種GUI框架的 – MadProgrammer
sysout修正:) @MadProgrammer爲什麼你說它假定用戶沒有使用任何GUI框架?這就是爲什麼我不建議使用'javax.swing.Timer'? – fmodos
這個問題沒有背景。如果OP使用Swing(例如),那麼可能不是一個好主意。對於上下文,它仍然是一個有效的答案,但我會(親自)聲明這是假設OP不使用GUI - IMHO – MadProgrammer