1、scheduleUpdate

成都創(chuàng)新互聯(lián)公司“設(shè)計定江山,服務(wù)贏天下“的思想,用細節(jié)和態(tài)度獲得客戶的認可與同行的尊重,服務(wù)是成都創(chuàng)新互聯(lián)公司企業(yè)文化中重要的核心思想,每一位員工要致力成為客戶心中堅實的服務(wù)后盾。
加入當(dāng)前節(jié)點后,程序會每幀都會自動執(zhí)行一次默認的Update函數(shù)。(注:一定是Update函數(shù)哦,若想調(diào)用其他自己命名的函數(shù)則使用schedule)
看例子,走起。
首先在HelloWord類的頭文件中聲明Update函數(shù):
[cpp] view plain copy print?
void update(float dt); //注意參數(shù)類型
然后在HelloWorld類源文件中實現(xiàn)函數(shù)Update:
[cpp] view plain copy print?
void HelloWorld::update(float dt)
{
CCLOG("baibai");
}
現(xiàn)在我們可以調(diào)用了,在需要他不斷執(zhí)行的地方加入調(diào)用的代碼就ok:
[cpp] view plain copy print?
this-scheduleUpdate(); //this是當(dāng)前節(jié)點,如layer,所以可以省略啦。
運行之后你將會看到不斷有baibai被打印出來
2、scheduleUpdate
可以沒隔幾秒執(zhí)行某個自定義的函數(shù),來看代碼:
首先還是在HelloWorld中聲明所要執(zhí)行的函數(shù):
import?java.util.Random;
import?java.util.Timer;
import?java.util.TimerTask;
public?class?MainEntry?{
private?int?a;
public?void?setVal(){
Timer?timer?=?new?Timer();
//每隔一秒生成一個[1,100)內(nèi)的隨機整數(shù),賦給成員a
timer.schedule(new?TimerTask()?{?
@Override
public?void?run()?{
Random?rand?=?new?Random();
setA(rand.nextInt(100));
}
},?1000);
}
public?void?setA(int?a)?{
this.a?=?a;
}
public?int?getA()?{
return?a;
}
public?static?void?main(String[]?args)?{
MainEntry?me?=?new?MainEntry();
me.setVal();
}
}
我是讓它每10毫秒掃描一下。
Calendar ca=null;
Calendar ca1=null;
Timer timer=new Timer();
static Connection con=null;
public void chu(){
ca=Calendar.getInstance();
ca1=(Calendar)ca.clone();
ca1.add(Calendar.SECOND, 20);
}
public void Time(){
float s=ca1.get(Calendar.SECOND)-ca.get(Calendar.SECOND)+(ca1.get(Calendar.MILLISECOND)-ca.get(Calendar.MILLISECOND))/1000f;
if(con==null){
System.out.println("耗時"+String.valueOf(s)+"秒");
if(ca.after(ca1)){
System.out.println("取不到連接");
timer.cancel();
return ;
}
}else{
System.out.println("耗時"+String.valueOf(s)+"秒");
}
ca.add(Calendar.MILLISECOND, 10);
timer.schedule(
new TimerTask() {
public void run() {
System.out.println("時間在溜走。。。。");
Time();
}
}, ca.getTime());
}
void getcon(){
Connection con=null;//獲取Connection
chu();
Time();
}
java定時器的使用(Timer)
1、在應(yīng)用開發(fā)中,經(jīng)常需要一些周期性的操作,比如每5分鐘執(zhí)行某一操作等。
對于這樣的操作最方便、高效的實現(xiàn)方式就是使用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);
第一個參數(shù)是要操作的方法,第二個參數(shù)是要設(shè)定延遲的時間,第三個參
數(shù)是周期的設(shè)定,每隔多長時間執(zhí)行該操作。
使用這幾行代碼之后,Timer本身會每隔5分鐘調(diào)用一遍
server.checkNewMail()方法,不需要自己啟動線程。Timer本身也是多線程同
步的,多個線程可以共用一個Timer,不需要外部的同步代碼。
2、
(1)Timer.schedule(TimerTask task,Date time)安排在制定的時間執(zhí)行指定的
任務(wù)。
(2)Timer.schedule(TimerTask task,Date firstTime ,long period)安排指定
的任務(wù)在指定的時間開始進行重復(fù)的固定延遲執(zhí)行.
(3)Timer.schedule(TimerTask task,long delay)安排在指定延遲后執(zhí)行指定的
任務(wù).
(4)Timer.schedule(TimerTask task,long delay,long period)安排指定的任務(wù)
從指定的延遲后開始進行重復(fù)的固定延遲執(zhí)行.
(5)Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
安排指定的任務(wù)在指定的時間開始進行重復(fù)的固定速率執(zhí)行.
(6)Timer.scheduleAtFixedRate(TimerTask task,long delay,long period)安
排指定的任務(wù)在指定的延遲后開始進行重復(fù)的固定速率執(zhí)行.
用Java Timer API 進行時間調(diào)度開發(fā)的相關(guān)注意點
java.util這個包中可以找到Timer和TimerTask這兩個類。Timer直接從Object
繼承,它相當(dāng)于一個計時器,能夠用它來指定某個時間來執(zhí)行一項任務(wù),或者
每隔一定時間間隔反復(fù)執(zhí)行同一個任務(wù)。創(chuàng)建一個Timer后,就會生成一個線程
在背后運行,來控制任務(wù)的執(zhí)行。而TimerTask就是用來實現(xiàn)某項任務(wù)的類,
它實現(xiàn)了Runnable接口,因此相當(dāng)于一個線程。
import java.util.Timer;
import java.util.TimerTask;
public class Test extends TimerTask {
public static void main(String[] args) {
Timer timer = new Timer();
Test t=new Test();
//程序運行后立刻執(zhí)行任務(wù),每隔1000ms執(zhí)行一次
timer.schedule(t, 0, 1000);
}
@Override
public void run() {
System.out.println("在此處調(diào)用插入數(shù)據(jù)庫的方法");
}
}
當(dāng)前文章:java定時器代碼,定時器java編程
鏈接分享:http://chinadenli.net/article9/dsgipih.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、響應(yīng)式網(wǎng)站、服務(wù)器托管、App開發(fā)、外貿(mào)建站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)