Timer和TimerTask的使用

Timer和TimerTask的使用

Timer類是用來執行任務的類,它接受一個TimerTask做參數

        TimerTask timerTask = new TimerTask() {
                    @Override
                    public void run() {
//                        Toast.makeText(GisActivity.this, "執行run方法", Toast.LENGTH_SHORT).show();
                        System.out.println("執行run方法");
                    }
                };
                Timer timer = new Timer(true);
                timer.schedule(timerTask, 2000, 3000); //    2秒後執行,每隔3秒執行一次

while循環用來判斷停止timer定時器的條件

          while (true) {
                    try {
                        int read = System.in.read();
                        if (read == 's') {
                            timer.cancel();
                            break;
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }

scheduleAtFixedRate()方法在API1.6.0中是這樣定義的:

安排指定的任務在指定的時間開始進行重複的固定速率執行。以近似固定的時間間隔(由指定的週期分隔)進行後續執行。

近似固定的時間間隔的意思是說:在固定速率執行中,相對於已安排的初始執行時間來安排每次執行。如果由於任何原因(如垃圾回收或其他後臺活動)而延遲了某次執行,則將快速連續地出現兩次或更多次執行,從而使後續執行能夠趕上來。

Timer類的常用其他方法:

cancel()
終止此計時器,丟棄所有當前已安排的任務。

purge()
從此計時器的任務隊列中移除所有已取消的任務。

schedule(TimerTask task, Date time)
安排在指定的時間執行指定的任務。

TimerTask類的常用其他方法:

cancel()
取消此計時器任務。

run()
此計時器任務要執行的操作。

scheduledExecutionTime()
返回此任務最近實際 執行的已安排 執行時間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章