java的定时器用法
?????????????????? java定時(shí)器的使用
定時(shí)器類Timer在java.util包中。使用時(shí),先實(shí)例化,然后使用實(shí)例的schedule(TimerTask task, long delay)方法,設(shè)定指定的任務(wù)task在指定的延遲delay后運(yùn)行。定時(shí)器任務(wù)類TimerTask是抽象類,繼承并重寫其run()方法,可實(shí)現(xiàn)詳細(xì)任務(wù)。schedule(TimerTask task, Date time)設(shè)定指定任務(wù)task在指定時(shí)間time運(yùn)行。
cancel()方法結(jié)束這個(gè)定時(shí)器。
schedule(TimerTask task, long delay, long period)方法設(shè)定指定任務(wù)task在指定延遲delay后進(jìn)行固定延遲peroid的運(yùn)行。
scheduleAtFixedRate(TimerTask task, long delay, long period)方法設(shè)定指定任務(wù)task在指定延遲delay后進(jìn)行固定頻率peroid的運(yùn)行。
要實(shí)現(xiàn)一個(gè)定時(shí)任務(wù),運(yùn)用java中的Timer和TimerTask類能夠很easy實(shí)現(xiàn)實(shí)時(shí)調(diào)用處理函數(shù)。這兩個(gè)類使用起來很方便,能夠完畢我們對(duì)定時(shí)器的絕大多數(shù)須要。
看個(gè)簡單的樣例:
import java.io.IOException;
import java.util.Timer;
public class TimerTest {
public static void main(String[] args){
Timer timer = new Timer();
timer.schedule(new MyTask(), 1000, 2000);//在1秒后運(yùn)行此任務(wù),每次間隔2秒,假設(shè)傳遞一個(gè)Data參數(shù),就能夠在某個(gè)固定的時(shí)間運(yùn)行這個(gè)任務(wù).
while(true){//這個(gè)是用來停止此任務(wù)的,否則就一直循環(huán)運(yùn)行此任務(wù)了
try {
int ch = System.in.read();
if(ch-'c'==0){
timer.cancel();//使用這種方法退出任務(wù)
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static class MyTask extends java.util.TimerTask{
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("________");
}
}
}
總結(jié)
以上是生活随笔為你收集整理的java的定时器用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 别名的应用(New-Alias)
- 下一篇: 多个so中模板单例的多次实例化