java延時函數
A. java延時5秒如何實現
你是指讓操作的線程停頓5秒嗎?
線程中有一個睡眠的函數,參數的單位是毫秒。
Thread.sleep(5000); 當線程運行到這里是,自動停頓5 s然後繼續執行(單一線程的情況下,如果還有其他線程就需要等待,競爭執行權)
B. java 中sleep()方法或者wait()方法的使用
簡單說:sleep由線程自動喚醒,wait必須顯示用代碼喚醒。
sleep是Thread類的靜態方法。sleep的作用是讓線程休眠制定的時間,在時間到達時恢復,也就是說sleep將在接到時間到達事件事恢復線程執行,例如:
try{
System.out.println("I'm going to bed");
Thread.sleep(1000);
System.out.println("I wake up");
}
catch(IntrruptedException e) {
}
wait是Object的方法,也就是說可以對任意一個對象調用wait方法,調用wait方法將會將調用者的線程掛起,直到其他線程調用同一個對象的notify方法才會重新激活調用者,例如:
//Thread 1
try{
obj.wait();//suspend thread until obj.notify() is called
}
catch(InterrputedException e) {
}
C. 怎樣讓「java」延遲函數
Java中主要有以下方法來實現延遲
普通延時用Thread.sleep(int)方法,這很簡單。它將當前線程掛起指定的毫秒數。如
try
{
Thread.currentThread().sleep(1000);//毫秒
}
catch(Exception e){}
在這里需要解釋一下線程沉睡的時間。sleep()方法並不能夠讓程序"嚴格"的沉睡指定的時間。例如當使用5000作為sleep()方法的參數時,線 程可能在實際被掛起5000.001毫秒後才會繼續運行。當然,對於一般的應用程序來說,sleep()方法對時間控制的精度足夠了。
D. java代碼延遲30秒
setTimeout()在js類中的使用方法
setTimeout (表達式,延時時間)
setTimeout(表達式,交互時間)
延時時間/交互時間是以豪秒為單位的(1000ms=1s)
setTimeout 在執行時,是在載入後延遲指定時間後,去執行一次表達式,僅執行一次
setTimeout 在執行時,它從載入後,每隔指定的時間就執行一次表達式
1,基本用法:
執行一段代碼:
var i=0;
setTimeout("i+=1;alert(i)",1000);
執行一個函數:
var i=0;
setTimeout(function(){i+=1;alert(i);},1000);
//注意比較上面的兩種方法的不同。
下面再來一個執行函數的:
var i=0;
function test(){
i+=1;
alert(i);
}
setTimeout("test()",1000);
也可以這樣:
setTimeout(test,1000);
總結:
setTimeout的原型是這樣的:
iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])
setTimeout有兩種形式
setTimeout(code,interval)
setTimeout(func,interval,args)
其中code是一個字元串
func是一個函數.
注意"函數"的意義,是一個表達式,而不是一個語句.
比如你想周期性執行一個函數
function a(){
//...
}
可寫為
setTimeout("a()",1000)
或
setTimeout(a,1000)
這里注意第二種形式中,是a,不要寫成a(),切記!!!
展開來說,不管你這里寫的是什麼,如果是一個變數,一定是一個指向某函數的變數;如果是個函數,那它的返回值就 要是個函數
2,用setTimeout實現setInterval的功能
思路很簡單,就是在一個函數中調用不停執行自己,有點像遞歸
var i=0;
function xilou(){
i+=1;
if(i>10){alert(i);return;}
setTimeout("xilou()",1000);
//用這個也可以
//setTimeout(xilou,1000);
}
E. 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」)。
F. java中如何是方法延遲執行
new Thread(new Runnable() {
public void run() {
while(true) {
repaint();
Thread.sleep(500);
}
}
}).start();
這樣就沒錯誤了。
要用延遲的話,不妨試試java.util.Timer().
new java.util.Timer().schele(new TimerTask(){
public void run() {
//這里寫延遲後要運行的代碼
repaint();
//如果只要這個延遲一次,用cancel方法取消掉.
this.cancel();
}}, 3000);
//參考參考java幫助文擋,也可以以固定間隔連續執行.
G. 小弟剛學java,想問一下 java中的 延遲函數。就是調用一下此函數讓程序暫停一下(幾秒),再向下執行,拜
在你的main方法里加上這個
try {
Thread.sleep(5000);//括弧裡面的5000代表5000毫秒,也就是5秒,可以該成你需要的時間
} catch (InterruptedException e) {
e.printStackTrace();
}
H. 如何在java中實現延遲幾秒鍾
可以使用sleep函數。