方案操作如下:
成都創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),敦煌網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:敦煌等地區(qū)。敦煌做網(wǎng)站價(jià)格咨詢:13518219792
(1)讓程序在一個(gè)單獨(dú)的線程中運(yùn)行,然后在終止時(shí),可以用線程的終止方法來結(jié)束它。
(2)退出Java程序時(shí)盡量不要使用java.lang.System的exit方法。Exit?方法可以終止JVM,從而終止程序,但如果同時(shí)運(yùn)行了另一個(gè)Java程序,使用exit方法就會(huì)讓該程序也關(guān)閉,這顯然不是希望看到的情況?。。?!
要退出Java程序,可以使用destory()退出一個(gè)獨(dú)立運(yùn)行的過程。對于多線程程序,必須要關(guān)閉各個(gè)非守護(hù)線程。
只有在程序非正常退出時(shí),才使用exit方法退出程序
1、scheduleUpdate
加入當(dāng)前節(jié)點(diǎn)后,程序會(huì)每幀都會(huì)自動(dòng)執(zhí)行一次默認(rèn)的Update函數(shù)。(注:一定是Update函數(shù)哦,若想調(diào)用其他自己命名的函數(shù)則使用schedule)
看例子,走起。
首先在HelloWord類的頭文件中聲明Update函數(shù):
[cpp] view plain copy print?
void update(float dt); //注意參數(shù)類型
然后在HelloWorld類源文件中實(shí)現(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é)點(diǎn),如layer,所以可以省略啦。
運(yùn)行之后你將會(huì)看到不斷有baibai被打印出來
2、scheduleUpdate
可以沒隔幾秒執(zhí)行某個(gè)自定義的函數(shù),來看代碼:
首先還是在HelloWorld中聲明所要執(zhí)行的函數(shù):
1.
public class TestShutDownHook {
2.
public TestShutDownHook() {
3.
doShutDownWork();
4.
}
5.
private void doShutDownWork() {
6.
Runtime run=Runtime.getRuntime();//當(dāng)前 Java 應(yīng)用程序相關(guān)的運(yùn)行時(shí)對象。
7.
run.addShutdownHook(new Thread(){ //注冊新的虛擬機(jī)來關(guān)閉鉤子
8.
@Override
9.
public void run() {
10.
//程序結(jié)束時(shí)進(jìn)行的操作
11.
System.out.println("程序結(jié)束調(diào)用");
12.
}
13.
});
14.
}
15.
public static void main(String[] args) {
16.
new TestShutDownHook();
17.
for (int i = 0; i 1000; i++) { // 在這里增添您需要處理代碼 }
18.
System.out.println(i);
19.
}
20.
}
21.
}