Java中基本知識梳理【定時器實現多線程】-----2015年3月15日

來源:互聯網
上載者:User

標籤:

Timer介紹:

(1)基本方法:

  

public Timer():建立一個新計時器。相關的線程 作為精靈運行。

public void schedule(TimerTask task, long delay, long period)

安排指定的任務從指定的延遲後開始進行重複的固定順延強制。以近似固定的時間間隔(由指定的周期分隔)進行後續執行。 

public void schedule(TimerTask task, Date time)

安排在指定的時間執行指定的任務。如果此時間已過去,則安排立即執行該任務。 

參數:

task - 所要安排的任務。

time - 執行任務的時間。 

public void cancel()

終止此計時器,丟棄所有當前已安排的任務。這不會干擾當前正在執行的任務(如果存在)。一旦終止了計時器,那麼它的執行線程也會終止,並且無法根據它安排更多的任務。

TimerTask介紹:

public abstract void run()

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

public boolean cancel()

取消此計時器任務。如果任務安排為一次執行且還未運行,或者尚未安排,則永遠不會運行。如果任務安排為重複執行,則永遠不會再運行。(如果發生此調用時任務正在運行,則任務將運行完,但永遠不會再運行。)  

定時器如何?多線程:

將Timer對象和TimerTask對象綁定利用Timer對象中的schedule方法觸發TimerTask類中run()方法實現多線程。

執行個體:

package test1;import java.util.Date;import java.util.IllegalFormatCodePointException;import java.util.Timer;import java.util.TimerTask;class Task extends TimerTask{    private  int a=1;    private int sum=0;    public void run()    {        sum+=a;        a++;        System.out.println("HELLO");        if(a>3)        {            System.out.println(sum);            this.cancel();//這裡的cancel()方法是TimerTask對象在調用,其中Timer和Timer類都含有cancel()方法        }        }}public class TimerTask1 {        public static void main(String[] args) {            Timer time=new Timer();            Task t=new Task();            time.schedule(t, new Date(), 1);                    }}

 

Java中基本知識梳理【定時器實現多線程】-----2015年3月15日

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.