Java Timer(定時器)

概述:

    Timer是一種定時器工具,用來在一個後臺線程計劃執行指定任務。它可以安排任務「執行一次」或者定期「執行多次。                 
     然而在實際的開發過程當中,經常需要一些週期性的操作,比如每5分鐘執行某一操作等。
     對於這樣的操作最方便、高效的實現方式就是使用java.util.Timer工具類。

--------------------------------------------------------------------------------------------------------------

 方法摘要:

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

      schedule(TimerTask task, Date firstTime , long period) :    安排指定的任務在 "指定的時間 " 開始進行 "重複" 的固定延遲執行.( )

      schedule(TimerTask task,long delay) :      安排在指定延遲後執行指定的任務.

      schedule(TimerTask task,long delay,long period):    安排指定的任務指定的延遲後開始進行重複的固定延遲執行.

      scheduleAtFixedRate(TimerTask task,Date firstTime,long period):    安排指定的任務在指定的時間開始進行重複的固定速率執行.

      scheduleAtFixedRate(TimerTask task,long delay,long period):    排指定的任務在指定的延遲後開始進行重複的固定速率執行.

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

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

------------------------------------------------------------------------------------------------

    實例代碼案例:

               1、 在指定的時間做某事(只做一次): schedule(TimerTask task, Date time) 

         源碼案例如下:

       

        運行效果:

                

----------------------------------------------------------------------------------------------------------

            2、 安排在指定延遲後執行指定的任務:schedule(TimerTask task,long delay) 

    源碼如下:

          

 

    運行效果:


-------------------------------------------------------------------------------------------------------

            3、安排指定的任務在「指定的延遲」後開始進行「重複」的固定延遲執行:

                                                                        schedule(TimerTask task,long delay,long period):    

     源碼如下:

                

            

      運行效果:

                      

-------------------------------------------------------------------------------------------

在這裏就主要講解常用的以上三個方法,其他的方法都是差不多的;

-------------------------------------------------------------------------------------------

擴展:

    在實際的開發過程當中,用到的實際比較少;一般都會使用
「Quartz」是一個完全由Java 編寫的開源調度框架。

------------------------------------------------------------------------------------------

在最後,感謝大家看完這篇文章,希望該文章對大家有所幫助!

CSDN:https://mp.csdn.net/postlist