Timer是一種定時(shí)器工具晶乔,用來(lái)在一個(gè)后臺(tái)線(xiàn)程計(jì)劃執(zhí)行指定任務(wù)嗤谚。它可以計(jì)劃執(zhí)行一個(gè)任務(wù)一次或反復(fù)多次结洼。TimerTask一個(gè)抽象類(lèi)锌畸,它的子類(lèi)代表一個(gè)可以被Timer計(jì)劃的任務(wù)泌辫。
schedule的意思(時(shí)間表随夸、進(jìn)度表)timer.schedule(new MyTask(event.getServletContext()), 0, 60601000);
第一個(gè)參數(shù)"new MyTask(event.getServletContext())":是 TimerTask 類(lèi),在包:import java.util.TimerTask .使用者要繼承該類(lèi)震放,并實(shí)現(xiàn) public void run() 方法宾毒,因?yàn)?TimerTask 類(lèi)實(shí)現(xiàn)了 Runnable 接口。
第二個(gè)參數(shù)"0"的意思是:(0就表示無(wú)延遲)當(dāng)你調(diào)用該方法后殿遂,該方法必然會(huì)調(diào)用 TimerTask 類(lèi) TimerTask 類(lèi) 中的 run() 方法诈铛,這個(gè)參數(shù)就是這兩者之間的差值,轉(zhuǎn)換成漢語(yǔ)的意思就是說(shuō)墨礁,用戶(hù)調(diào)用 schedule() 方法后幢竹,要等待這么長(zhǎng)的時(shí)間才可以第一次執(zhí)行 run() 方法。
第三個(gè)參數(shù)"60601000"的意思就是:(單位是毫秒60601000為一小時(shí))(單位是毫秒3601000為三分鐘)第一次調(diào)用之后饵溅,從第二次開(kāi)始每隔多長(zhǎng)的時(shí)間調(diào)用一次 run() 方法
例子:
public Timer createJobber(TimerTask o, String cronExpress) throws Exception {Timer timer = new Timer();timer.schedule(o, 0, Integer.parseInt(cronExpress));return timer;}