導航:首頁 > 編程語言 > javatimer的使用

javatimer的使用

發布時間:2022-10-19 22:46:29

① 如何正確的使用Timer的schele方法

java中,Timer類主要用於定時性、周期性任務
的觸發,這個類中有兩個方法比較難理解,那就是schele和scheleAtFixedRate方法,在這里就用實例分析一下
(1)schele方法:「fixed-delay」;如果第一次執行時間被delay了,隨後的執行時間按

② java timer 用法

import java.util.Timer;

public class TimerTest1 {

static class MyTask extends java.util.TimerTask {
public void run() {
System.out.println("開始");
}

}

static class Shutdown extends java.util.TimerTask {
Timer timer = null;

public Shutdown() {
}

public Shutdown(Timer mytimer) {

timer = mytimer;
}

public void run() {
System.out.println("結束");
timer.cancel();// 使用這個方法退出任務
}

}

public static void main(String[] args) {
Timer timer = new Timer();
timer.schele(new MyTask(), 1000);// 在1秒後執行此任務
timer.schele(new Shutdown(timer), 3000);// 在3秒後執行此任務
}

}

③ java timer使用方法

Timer都是跟TimerTask兩個類結合一塊使用的,Timer中最重要的就是schele方法,下面這個歷史是利用Timer跟TimerTask循環執行列印語句哈。其他schele方法的使用請參考api,裡面寫的很詳細的。

public class TimerTest3 {

public static void main(String[] args) {
Timer t = new Timer();
t.schele(new TimerTask(){

@Override
public void run() {
System.out.println(System.currentTimeMillis());
}

}, 100l, 1000l);//100表示第一次執行時要延遲多少毫秒,1000表示每個一秒執行列印語句。
}

}

④ java timer wait函數怎麼用

Timer 是一種定時器工具,用來在一個後台線程計劃執行指定任務,這些任務可以被執行一次,也可以被定期執行。每個 Timer 對象對應一個後台線程,順序地執行所有計時器任務。如果完成某個計時器任務的時間太長,那麼它會「獨占」計時器的任務執行線程,從而可能延遲後續任務的執 行。對 Timer 對象最後的引用完成並且所有未處理的任務都已執行完成後,計時器的任務執行線程會正常終止(並且成為垃圾回收的對象)。TimerTask是一個抽象類, 實現了Runable介面,它的子類代表一個可以被Timer計劃的任務。

1) 一個簡單的Demo,讓大家對Timer、TimerTask的使用有感性的認識。

2) Timer和TimerTask的常用api函數說明

這里強調Timer類的schele和scheleAtFixedRate的區別。schele和 scheleAtFixedRate的區別在於,schele以固定的相對時間間隔執行,如果某一次執行被延時了,往後的執行的執行時間也會相對 延時;而scheleAtFixedRate是以絕對的時間間隔執行,如果某一次執行被延時,它的後一次執行的延時將會縮短 (scheleAtFixedRate會把已經過去的時間也作為周期執行)。schele注重的是時間間隔的穩定,而 scheleAtFixedRate注重的是執行頻率的穩定。

3) Timer的終止

默認情況下,只要一個程序的timer線程在運行,那麼這個程序就會保持運行。當然,你可以通過以下四種方法終止一個timer線程:

a)調用timer的cancle方法。你可以從程序的任何地方調用此方法,甚至在一個timer task的run方法里;

b)讓timer線程成為一個daemon線程(可以在創建timer時使用new Timer(true)達到這個目地),這樣當程序只有daemon線程的時候,它就會自動終止運行;

c)當timer相關的所有task執行完畢以後,刪除所有此timer對象的引用(置成null),這樣timer線程也會終止;

d)調用System.exit方法,使整個程序(所有線程)終止。

總結:Timer和TimerTask可以簡單理解為Timer定時器在觸發TimerTask任務調用,通常用schele和 scheleAtFixedRate方法來調用timertask任務,cancle來終止任務調用。Timer簡單易用,比較適合提供輕量級的計時 器功能,但是對時效性很強的任務調度請用其它方法來實現(正如javadoc所述」Timer does not offer real-time guarantees: it scheles tasks using the Object.wait(long) method」)。

⑤ JAVA TIMER怎麼樣使用

void cancel()
終止此計時器,丟棄所有當前已安排的任務。
int purge()
從此計時器的任務隊列中移除所有已取消的任務。
void schele(TimerTask task, Date time)
安排在指定的時間執行指定的任務。
void schele(TimerTask task, Date firstTime, long period)
安排指定的任務在指定的時間開始進行重復的固定延遲執行。
void schele(TimerTask task, long delay)
安排在指定延遲後執行指定的任務。
void schele(TimerTask task, long delay, long period)
安排指定的任務從指定的延遲後開始進行重復的固定延遲執行。
void scheleAtFixedRate(TimerTask task, Date firstTime, long period)
安排指定的任務在指定的時間開始進行重復的固定速率執行。
void scheleAtFixedRate(TimerTask task, long delay, long period)
安排指定的任務在指定的延遲後開始進行重復的固定速率執行。

我前幾天剛用過 這是我的代碼:
timer.scheleAtFixedRate(new TimerTask(), ConfigUtil.TIME_DELAY, Integer.parseInt(distance)*60000);

三個解釋:new TimerTask()這是一個TimerTask對象,裡面有一個run()方法
是你想要執行的代碼。
ConfigUtil.TIME_DELAY這個是延遲的時間 (毫秒單位)
Integer.parseInt(distance)*60000 這個是每隔多長時間執行一次
TimerTask中的run()方法(毫秒單位)
簡單一點就是 寫成這樣:
Timer timer = new Timer();
timer.scheleAtFixedRate(new TimerTask(), 1000, 60000);
意思就是 每隔6秒(相當於60000毫秒)的時間 在經過1秒的延遲,執行一次
TimerTask中的方法。new TimerTask()就是寫一個類 然後繼承TimerTask,然後重寫其中的run()方法,在run()中放入自己想要執行的代碼。
夠清楚了吧?

⑥ java定時器用什麼實現

java定時器的使用(Timer)
1、在應用開發中,經常需要一些周期性的操作,比如每5分鍾執行某一操作等。
對於這樣的操作最方便、高效的實現方式就是使用java.util.Timer工具類。
private java.util.Timer timer;
timer = new Timer(true);
timer.schele(
new java.util.TimerTask() { public void run()
{ //server.checkNewMail(); 要操作的方法} }, 0, 5*60*1000);
第一個參數是要操作的方法,第二個參數是要設定延遲的時間,第三個參
數是周期的設定,每隔多長時間執行該操作。
使用這幾行代碼之後,Timer本身會每隔5分鍾調用一遍
server.checkNewMail()方法,不需要自己啟動線程。Timer本身也是多線程同
步的,多個線程可以共用一個Timer,不需要外部的同步代碼。
2、
(1)Timer.schele(TimerTask task,Date time)安排在制定的時間執行指定的
任務。
(2)Timer.schele(TimerTask task,Date firstTime ,long period)安排指定
的任務在指定的時間開始進行重復的固定延遲執行.
(3)Timer.schele(TimerTask task,long delay)安排在指定延遲後執行指定的
任務.
(4)Timer.schele(TimerTask task,long delay,long period)安排指定的任務
從指定的延遲後開始進行重復的固定延遲執行.
(5)Timer.scheleAtFixedRate(TimerTask task,Date firstTime,long period)
安排指定的任務在指定的時間開始進行重復的固定速率執行.
(6)Timer.scheleAtFixedRate(TimerTask task,long delay,long period)安
排指定的任務在指定的延遲後開始進行重復的固定速率執行.
用Java Timer API 進行時間調度開發的相關注意點
java.util這個包中可以找到Timer和TimerTask這兩個類。Timer直接從Object
繼承,它相當於一個計時器,能夠用它來指定某個時間來執行一項任務,或者
每隔一定時間間隔反復執行同一個任務。創建一個Timer後,就會生成一個線程
在背後運行,來控制任務的執行。而TimerTask就是用來實現某項任務的類,
它實現了Runnable介面,因此相當於一個線程。

⑦ java中Timerr如何使用

//是Timer計時器吧,
//創建對象
Timer time = new Timer();
//計時器重復任務對象
TimerTask task = new TimerTask() {
/**
* 實現計時器對象的介面方法
*/
@Override
public void run() {
//這里需要重復運行的代碼快
}
};
//安排指定的任務在指定的時間開始進行重復的固定延遲執行。
time.schele(task, 300, 300);
這是重復的一個計時器用法,其他的可以直接查看jdk文檔幫助.

⑧ java timer使用方法

public class test{ public static void main(String[] a){ Timer timer = new Timer(); Timmer timmer=new Timmer(); timer.schele(timmer, 6000,6000); for(int i=0;i<100;i++){ VelocityMailSupport.saveE("大喊"+i); System.out.println(i+"次"); } } } class Timmer extends TimerTask{ public void run() { System.out.prinltn("go"); } } }一個列子說明一切。。剩下的Aip簡單明了

⑨ java 中 如何使用Timer

現在項目中用到需要定時去檢查文件是否更新的功能。timer正好用於此處。
用法很簡單,new一個timer,然後寫一個timertask的子類即可。
package comz.autoupdatefile;

import java.util.Timer;
import java.util.TimerTask;

public class M {
public static void main(String[] args) {
// TODO todo.generated by zoer
Timer timer = new Timer();
timer.schele(new MyTask(), 1000, 2000);
}
}

class MyTask extends TimerTask {

@Override
public void run() {
System.out.println("dddd");

}

}
這樣,就可以在1秒鍾之後開始執行mytask,每兩秒鍾執行一次。
當然,timer的功能也可以通過自己構造線程,然後在線程中用sleep來模擬停止一段時間,然後再執行某個動作。
其實,看一下timertask的源碼就立即可以知道,timertask就是實現了runnable介面的。也就是說,通過timer來間隔一段時間執行一個操作,也是通過一個線程來做到的。

⑩ 用java里timer執行定時任務,怎麼寫

Timer
timer
=
new
Timer();
timer.schele(new
MyTask(),
firstTime,
24*60*60*1000L);
timer.schele(new
MyTask(),
secondTime,24*60*60*1000L);
timer.schele(new
MyTask(),
ThirdTime,
24*60*60*1000L);
其中三個時間分別為一天的8:00/12:00/14:00點,可以用SimpleDateFormat類

閱讀全文

與javatimer的使用相關的資料

熱點內容
rf3148編程器 瀏覽:505
浙江標准網路伺服器機櫃雲主機 瀏覽:587
設置網路的伺服器地址 瀏覽:600
java圖形界面設計 瀏覽:751
純前端項目怎麼部署到伺服器 瀏覽:538
瓜子臉程序員 瀏覽:505
如何保證伺服器優質 瀏覽:94
小微信aPP怎麼一下找不到了 瀏覽:299
演算法纂要學術價值 瀏覽:975
程序員你好是什麼意思 瀏覽:801
倩女幽魂老伺服器如何玩 瀏覽:561
電子鍾單片機課程設計實驗報告 瀏覽:999
看加密頻道 瀏覽:381
程序員算不算流水線工人 瀏覽:632
三星電視我的app怎麼卸載 瀏覽:44
簡述vi編譯器的基本操作 瀏覽:507
讓程序員選小號 瀏覽:91
加強數字貨幣國際信息編譯能力 瀏覽:584
購買的app會員怎麼退安卓手機 瀏覽:891
程序員的種類及名稱 瀏覽:295