我已經在Raspberry Pi上編寫了一個簡單的java代碼,它將從Raspberry Pi發送的數據發送到服務器。現在,我不希望手動運行程序,而是希望該程序在後臺每10秒鐘(任何特定時間)自動執行一次,因此新的數據會在這段時間後發送到服務器。 Raspberry Pi正在Raspbian OS上運行。 有人可以幫我解決這個問題嗎?預先感謝您。如何在每個特定的時間間隔內在後臺運行Java程序?
0
A
回答
1
您有兩種選擇:定期從cron
或類似的地方運行您的作業,或將您的應用程序更改爲長時間運行的進程,該進程將作爲設備上的服務運行,並執行自己的計劃。像Quartz這樣的庫(http://www.quartz-scheduler.org/)可以用來做後者。長時間運行的作業的輕微優勢在啓動作業(JVM的初始化和拆卸)時可能會受到較小的懲罰。
+0
我對cron瞭解不多。我如何使用cron運行java文件?我有單個java proram,所以我應該在那裏添加它? –
0
您可以使用Thread
在特定時間點執行您的代碼。
例子:
Thread thread = new Thread(new Runnable(){
@Override
public void run() {
while(true){
try{
//your code
Thread.sleep(10*1000);//this is poll interval
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
});
thread.setDaemon(true);
thread.start();
1
您可以使用您的應用程序,而不是一個Thread
java.util.Timer
。
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
//write your code here
System.out.print(new Date() + "\n");
}
}, 0, 1000);
我認爲這是解決您的問題最簡單的方法。
0
我找到了答案。 使用crontab可以在特定的時間間隔執行任務。 對於Java文件,你必須做出一個jar文件,然後如果你想每隔一分鐘後運行則crontab的語法是
- 爪哇 - jar /path_of_your_jar_file/File_name.jar
但這裏的問題是,你的任務是重複每1分鐘。所以如果你想在10秒內完成,那麼你必須使用線程睡眠。 代碼線程睡眠是
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
method_name();
}
},0,10000);
相關問題
- 1. 如何在特定的時間內運行Java程序?
- 2. 在JAVA中以特定時間間隔運行特定時間的線程
- 3. Java程序在特定時間運行
- 4. 在特定時間運行Java程序
- 5. 如何在特定的時間間隔後更新每個mysql行?
- 6. 在黑莓中的特定時間間隔後關閉後臺應用程序
- 7. 在特定的時間間隔後運行instagram代碼
- 8. 在特定時間運行java線程
- 9. 在WP8中每天在特定時間段內運行後臺代理
- 10. 在每個特定時間間隔後調度r函數
- 11. 終止在特定時間後在後臺運行的應用程序?
- 12. 如何在特定的時間間隔內執行JavaScript代碼?
- 13. 如何在iPhone中的特定時間間隔從後臺執行位置
- 14. 如何在固定時間間隔內運行magento中的cron.php
- 15. 如何在特定時間間隔運行MySQL刪除查詢?
- 16. 如何在特定的時間每天在後臺調用WebService?
- 17. 如何運行Yii控制器動作在特定的時間間隔內?
- 18. 如何在特定的時間間隔內自動運行gwt servlet?
- 19. 以特定時間間隔運行程序
- 20. 在後臺運行的時間間隔計算
- 21. Python腳本在特定的時間間隔執行C程序
- 22. 如何在特定的時間內運行CFRunLoop(),然後停止?
- 23. 當應用程序未運行時,以固定的時間間隔在後臺重複調用一個函數
- 24. 如何在每次運行時延長間隔時間?
- 25. 如何長時間在後臺運行iphone應用程序?
- 26. Java執行程序在特定時間的時間範圍
- 27. 如何在特定的時間間隔內每1小時運行一次cron作業
- 28. 在Java中的特定時間運行程序或方法
- 29. 在蟒蛇在特定時間間隔運行任務
- 30. 如何跟蹤在特定時間間隔內運行的應用程序數量?
難道這不是一個任務[cron的(https://www.raspberrypi.org/documentation/linux/usage/cron.md)? (沒有雙關意圖) –
如何使用cron運行單個java程序?或者我必須使該Java程序的jar文件執行? –
請提供更多關於您正在使用的操作系統的信息。 – Xyaren