本文目錄一覽:
- 1、有關Java定時器的問題
- 2、java定時器怎麼停止
- 3、java定時器會空轉嗎
- 4、java定時器用什麼實現
- 5、java定時器
有關Java定時器的問題
這樣改:
public class Test extends java.util.TimerTask{
public int i=0 ;
public static void main(String[] args) {
final Timer t = new Timer();
t.schedule(new Test(),1000,2000);
}
public void run() {
System.out.println(“sss”);
i++;
System.out.println(i);
if(i == 3)
cancel();
}
}
java定時器怎麼停止
1、scheduleUpdate
加入當前節點後,程序會每幀都會自動執行一次默認的Update函數。(註:一定是Update函數哦,若想調用其他自己命名的函數則使用schedule)
看例子,走起。
首先在HelloWord類的頭文件中聲明Update函數:
[cpp] view plain copy print?
void update(float dt); //注意參數類型
然後在HelloWorld類源文件中實現函數Update:
[cpp] view plain copy print?
void HelloWorld::update(float dt)
{
CCLOG(“baibai”);
}
現在我們可以調用了,在需要他不斷執行的地方加入調用的代碼就ok:
[cpp] view plain copy print?
this-scheduleUpdate(); //this是當前節點,如layer,所以可以省略啦。
運行之後你將會看到不斷有baibai被列印出來
2、scheduleUpdate
可以沒隔幾秒執行某個自定義的函數,來看代碼:
首先還是在HelloWorld中聲明所要執行的函數:
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介面,因此相當於一個線程。
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框架 使用很簡單
原創文章,作者:QNQNM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/318117.html