java休眠
① java中的sleep()方法
1.所有這些語句都必須在方法裡面寫,類裡面只能存在屬性和方法。不存在語句
2.thread.sleep()需要捕捉異常,加try/catch
② java如何用Runnable實現讓這線程斷斷續續的休眠
R r=new R(); 沒有必要,等於每個R對象運行時就會產生一個新的R對象,好在你沒讓它運行起來。否則內存遞推很快就滿了。
talentwei8899說的對,直接使用Thread.CurrentThread.sleep(1000);
休眠的是當前線程。
若想讓進程休眠時間不同,休眠的時間可取個隨機數。
③ java 線程休眠的問題
首先能確定你的代碼沒有問題,其中有一個警告滑棚是你的sleep沒有以靜態方式調用;
this是指當前類的一個對象,你的MyThread類中根本就沒有sleep方法,談信團則何調用勒;
用t來調用不是出現錯誤,而是一個警告
Thestaticmethodsleep(long)
並提供了兩種fix方法。
一個靜態方法需要以一個靜態方式去訪問調用,如果你使用該類型的一個實例去調用,也是可以的,不過這就違背了設計靜態關鍵或滑字的意願了,靜態方法或變數是先於類構造之前就存在了。
④ java多線程調用同步方法時,休眠後代碼為什麼執行不到
1、型正java多線程調用同步方法時主程序或者後台服務Service程猜租答序兩者必須有一個正在運行著,定時任務才會執行。
2、自動穗慧執行的任務可以設置開啟或關閉定時,檢查任務的這一開關處於開啟狀態。
3、源目錄在定時的時間點如果沒有變化,任務執行後不會留下日誌,通過查看任務的最後執行時間確定任務到底執行了沒有。
4、執行失敗和沒有執行不是同一回事,如果是執行失敗則要分析失敗原因。這是java多線程調用同步方法時,休眠後代碼執行不到的原因。
⑤ 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) {
}
⑥ JAVA在主方法中Thread.sleep();會讓主方法休眠嗎
Thread.sleep().會讓「當前線程」休眠,當然如果是在主方法內休眠,效果就山坦是「主線程」逗譽桐在主方虛高法內休眠。
⑦ java怎樣休眠1秒鍾
這是線程問題,用sleep()方法,括弧裡面填睡眠時間,以毫秒為單位,1秒就填1000。
⑧ JAVA中如何實現多個線程進行不同時間的休眠
public class A extends Thread {
private long times;
public setTimes(long times){
this.times = times ;
}
public A(){}
//或者
// public A(long times){
// this.times = times
// }
public void run{
dosomething
this.sleep(times);
}
public static void main(String[] args) {
A a1 = new A(1000);
A a2 = new A();
a2.setTimes = 2000;
A a3 = new A(3000);
a1.start();
a2.start();
a3.start();
}
}
⑨ java中的sleep是什麼意思
java sleep表示進程睡眠。
sleep()方法導致了程序暫停執行指定的時間,讓出cpu該其他線程,但是他的監控狀態依然保持者,當指定的時間到了又會自動恢復運行狀態。在調用sleep()方法的過程中,線程不會釋放對象鎖。而當調用wait()方法的時候,線程會放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象調用notify()方法後本線程才進入對象鎖定池准備獲取對象鎖進入運行狀態。