我想創建一個將在一段時間後調用的函數。而且,這應該在相同的時間之後重複。例如,該功能可以每60秒調用一次。如何在一段時間後重復調用某個函數
回答
使用java.util.Timer.scheduleAtFixedRate()
和java.util.TimerTask
是一個可能的解決方案:
Timer t = new Timer();
t.scheduleAtFixedRate(
new TimerTask()
{
public void run()
{
System.out.println("hello");
}
},
0, // run first occurrence immediatetly
2000)); // run every two seconds
不錯,雖然javax.swing.Timer中如果Fisol RASEL使用很多,如果應用程序 – 2012-07-10 15:20:53
爲了反覆,你需要使用某種形式的線程的,在後臺運行調用一個方法。我推薦使用ScheduledThreadPoolExecutor:
ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(1);
exec.scheduleAtFixedRate(new Runnable() {
public void run() {
// code to execute repeatedly
}
}, 0, 60, TimeUnit.SECONDS); // execute every 60 seconds
這是否工作,甚至Swing組件可能是一個更好的選擇被殺了? – 2015-04-25 07:21:48
@VNJ:不,如果父進程被終止,工作線程就不能存在。 – Tudor 2015-04-27 09:52:05
那該如何實現呢? – 2015-04-27 10:14:34
擺動計時器也是一個不錯的主意來實現重複函數調用。
Timer t = new Timer(0, null);
t.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//do something
}
});
t.setRepeats(true);
t.setDelay(1000); //1 sec
t.start();
- 1. 如何讓GDB在某個函數被調用一段時間後才中斷?
- 2. 在某段時間後重復宏
- 3. android - 如何重複一個函數的每一段時間?
- 4. 如何在Android Studio中延遲一段時間後重復某個功能?
- 5. 如何在python服務器的一段時間後調用一個函數?
- 6. 如何在C#中運行主函數一段時間後調用函數
- 7. 在一定的時間後無限調用某些函數
- 8. 如何在ColdFusion的計劃時間稍後調用某個函數?
- 9. 經過一段時間後在JavaScript中調用函數
- 10. android webview在一段時間後調用javascript函數
- 11. 如何在一段時間後執行某個方法?
- 12. 如何在一段時間後觸發某個操作?
- 13. 如何在一段時間後取消某個功能?
- 14. 如何在密鑰保存一段時間後重復操作?
- 15. 函數在一段時間後失敗
- 16. 如何在一段時間內調用jquery函數onload?
- 17. 調用一次函數然後以設定的時間間隔重複
- 18. 用Javascript在一段時間後執行一個函數
- 19. 如何確保一個函數在一段時間內只被調用一次?
- 20. 當應用程序未運行時,以固定的時間間隔在後臺重複調用一個函數
- 21. 如何在一段時間過後自動調用ASP.NET中的函數?
- 22. 如何在某些事情完成時調用某個函數
- 23. 如何在sml中重複調用另一個函數?
- 24. 如何在Python的某個時間啓動一個函數?
- 25. 在python中重複函數一段時間
- 26. 如何在Play Framework的某段時間後重定向? - SCALA
- 27. 如何在一段時間後在window.onload中加載javascript函數
- 28. 程序空閒一段時間後調用函數
- 29. 一段時間後的C++調用函數 - 無需升級
- 30. 如何在函數運行後等待一段時間
http://stackoverflow.com/a/11434143/3514144 – 2015-08-24 05:40:47