本文目錄一覽:
- 1、java定時器
- 2、java定時器會空轉嗎
- 3、java定時器用什麼實現
java定時器
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秒後執行此任務,每次間隔2秒,如果傳遞一個Data參數,就可以在某個固定的時間執行這個任務.
while (true) {// 這個是用來停止此任務的,否則就一直循環執行此任務了
try {
int ch = System.in.read();
if (ch – ‘c’ == 0) {
timer.cancel();// 使用這個方法退出任務
}
} 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(“________”);
}
}
}
這段代碼基本能滿足你需求了 你還有需求就在上面再套一層job 當然如過太複雜了而且這種定時需求很多的話 建議用quartz框架 使用很簡單
java定時器會空轉嗎
不會。
1、可以採用睡眠,sleep(),比較low。
2、在java類庫中已經寫好了定時器,java.util.Timer。可以拿來用,用的少,很多高級框架都是支持定時任務的。
java定時器用什麼實現
java定時器的使用(Timer)
1、在應用開發中,經常需要一些周期性的操作,比如每5分鐘執行某一操作等。
對於這樣的操作最方便、高效的實現方式就是使用java.util.Timer工具類。
private java.util.Timer timer;
timer = new Timer(true);
timer.schedule(
new java.util.TimerTask() { public void run()
{ //server.checkNewMail(); 要操作的方法} }, 0, 5*60*1000);
第一個參數是要操作的方法,第二個參數是要設定延遲的時間,第三個參
數是周期的設定,每隔多長時間執行該操作。
使用這幾行代碼之後,Timer本身會每隔5分鐘調用一遍
server.checkNewMail()方法,不需要自己啟動線程。Timer本身也是多線程同
步的,多個線程可以共用一個Timer,不需要外部的同步代碼。
2、
(1)Timer.schedule(TimerTask task,Date time)安排在制定的時間執行指定的
任務。
(2)Timer.schedule(TimerTask task,Date firstTime ,long period)安排指定
的任務在指定的時間開始進行重複的固定延遲執行.
(3)Timer.schedule(TimerTask task,long delay)安排在指定延遲後執行指定的
任務.
(4)Timer.schedule(TimerTask task,long delay,long period)安排指定的任務
從指定的延遲後開始進行重複的固定延遲執行.
(5)Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
安排指定的任務在指定的時間開始進行重複的固定速率執行.
(6)Timer.scheduleAtFixedRate(TimerTask task,long delay,long period)安
排指定的任務在指定的延遲後開始進行重複的固定速率執行.
用Java Timer API 進行時間調度開發的相關注意點
java.util這個包中可以找到Timer和TimerTask這兩個類。Timer直接從Object
繼承,它相當於一個計時器,能夠用它來指定某個時間來執行一項任務,或者
每隔一定時間間隔反覆執行同一個任務。創建一個Timer後,就會生成一個線程
在背後運行,來控制任務的執行。而TimerTask就是用來實現某項任務的類,
它實現了Runnable接口,因此相當於一個線程。
原創文章,作者:OKTAQ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/329696.html