java程序定时运行
生活随笔
收集整理的這篇文章主要介紹了
java程序定时运行
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? 又是需要某個程序每隔一段時間運行一次,而且需要他自己運行,而不是需要程序員每隔一段時間運行一下,這是就需要用到TimerTask類,具體情況見下代碼:
package dingshi;import java.util.Date; import java.util.Timer; import java.util.TimerTask;public class dingshi {public static void main(String[] args) {Timer timer = new Timer();MyTask task = new MyTask();//表示在1秒之后開始執行,并且每2秒執行一次timer.schedule(task, 1000, 2000);} }class MyTask extends TimerTask{//在run方法中的語句就是定時任務執行時運行的語句。public void run() {System.out.println("Hello!! 現在是:" + new Date());} }運行后的純輸出結果如下:
Hello!! 現在是:Wed Mar 13 21:01:57 CST 2019 Hello!! 現在是:Wed Mar 13 21:01:59 CST 2019 Hello!! 現在是:Wed Mar 13 21:02:01 CST 2019 Hello!! 現在是:Wed Mar 13 21:02:03 CST 2019 Hello!! 現在是:Wed Mar 13 21:02:05 CST 2019 Hello!! 現在是:Wed Mar 13 21:02:07 CST 2019可以看出確實是每個兩秒運行一下run()方法。
如果run()運行的事件超過了,設定的2秒,則run()運行完以后會接著運行,2秒就好像不再起作用了,如下,在run()方法中添加等待5秒的程序:
package dingshi;import java.util.Date; import java.util.Timer; import java.util.TimerTask;public class dingshi2 {public static void main(String[] args) {Timer timer = new Timer();MyTask task = new MyTask();//表示在1秒之后開始執行,并且每2秒執行一次timer.schedule(task, 1000, 2000);} }class MyTask extends TimerTask{//在run方法中的語句就是定時任務執行時運行的語句。public void run() {System.out.println("Hello!! 現在是:" + new Date());try {Thread.sleep(5000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }那么結果會變成這樣:
Hello!! 現在是:Wed Mar 13 21:06:07 CST 2019 Hello!! 現在是:Wed Mar 13 21:06:12 CST 2019 Hello!! 現在是:Wed Mar 13 21:06:17 CST 2019 Hello!! 現在是:Wed Mar 13 21:06:22 CST 2019 Hello!! 現在是:Wed Mar 13 21:06:27 CST 2019?
?
總結
以上是生活随笔為你收集整理的java程序定时运行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redhat下小企鹅输入法的安装
- 下一篇: 蓝桥杯2020年第十一届省赛真题-走方格