java讓線程睡眠
『壹』 java線程的幾種狀態
線程是一個動態執行的過程,它有一個從產生到死亡的過程,共五種狀態:
1、新建(new Thread)
當創建Thread類的一個實例(對象)時,此線程進入新建狀態(未被啟動)
例如:Thread t1=new Thread();
2、就緒(runnable)
線程已經被啟動,正在等待被分配給CPU時間片,也就是說此時線程正在就緒隊列中排隊等候得到CPU資源。例如:t1.start();
3、運行(running)
線程獲得CPU資源正在執行任務(run()方法),此時除非此線程自動放棄CPU資源或者有優先順序更高的線程進入,線程將一直運行到結束。
4、堵塞(blocked)
由於某種原因導致正在運行的線程讓出CPU並暫停自己的執行,即進入堵塞狀態。
正在睡眠:用sleep(long t) 方法可使線程進入睡眠方式。一個睡眠著的線程在指定的時間過去可進入就緒狀態。
正在等待:調用wait()方法。(調用notify()方法回到就緒狀態)
被另一個線程所阻塞:調用suspend()方法。(調用resume()方法恢復)
5、死亡(dead)
當線程執行完畢或被其它線程殺死,線程就進入死亡狀態,這時線程不可能再進入就緒狀態等待執行。
自然終止:正常運行run()方法後終止
異常終止:調用stop()方法讓一個線程終止運行
『貳』 java線程睡眠問題
首先這個睡眠是不一定的,a是固定睡眠的,但是不一定a睡完了b就立刻執行.這存在著線程搶時間片的問題,是隨機的.而這個i呢,你定義好了是沒錯,但是每次拿來i+1的時候i都是一個新的,也就是說你的i+1隻是當前方法中執行了,並沒有去影響到成員變數i.
『叄』 java中如何線程的睡眠與喚醒
classMyThreadextendsThread
{
publicMyThread()
{
super();
}
publicMyThread(Stringname)
{
super(name);
}
publicvoidrun()
{
for(inti=0;i<10;i++)
{
System.out.println(super.getName()+":"+i);
try
{
sleep(500);
}
catch(InterruptedExceptione)
{
System.out.println("線程被叫醒");
}
}
}
}
publicclassSleepTest
{
publicstaticvoidmain(String[]args)
{
MyThreadthread1=newMyThread("第1個線程");
MyThreadthread2=newMyThread("第2個線程");
thread1.start();
thread2.start();
}
}
『肆』 Java線程中的sleep方法作用是啥,啥時候用此方法
sleep(毫秒數)是Thread類的靜態方法。
使用時:Thread.sleep(毫秒數);
如Thread.sleep(1000);該線程睡眠1秒鍾,之間此線程什麼都不做。
等1秒鍾之後,繼續餘下代碼執行。
不過線程是沒有保證的。也許1秒鍾之後,該線程沒有轉為可運行狀態,也是可能的。
『伍』 JAVA-關於線程Sleep的問題!
main是主線程,而ta是你自己定義的線程。在主線程的運行下你的線程才運行,這不礙主線程的運行。
釋放線程用「線程為空」就可以了。
『陸』 13.在Java中如果使正在運行的線程進入睡眠狀態,可以調用線程的哪一個方法( )
您好,提問者:
此題選擇sleep,wait是等待,stop是中斷線程,notify是喚醒。
正確答案是:選擇B項。
『柒』 java多線程怎樣讓一個線程睡眠
可以使用sleep()方法。
sleep()方法擁有一個參數,它控制睡眠的長短,以毫秒計算。sleep()方法會拋出InterruptedException,所以一定在try-catch塊裡面使用它。
示例代碼如下:
{
inti=0;
publicstaticvoidmain(String[]args){
Aa1=newA();
Aa2=newA();
a1.run();
a2.run();
}
publicvoidrun(){
while(++i<=100){
System.out.println(i);
try{
Thread.sleep(50);
}catch(Exceptione){
e.printStackTrace();
}
}
}
}
注意,sleep()方法並不保證線程醒來後進入運行,只能保證它進入就緒狀態。
『捌』 Java線程 一個線程,如何讓它睡眠多少時間後有執行
樓上正解,不過首字母要大寫
Thread.sleep(睡眠毫秒數);不過需要拋出InterruptedException異常.正確的寫法是
try{
Thread.sleep(睡眠毫秒數);
} catch (InterruptedException e){
}
『玖』 java中,能否讓主線程睡眠
能,直接在主線程里調用Thread.sleep();即可
『拾』 關於java中線程的睡眠
是的。假如T1start,T2start後,T1執行一個循環休息10000毫秒,讓出CPU,T2執行一個循環休息10000毫秒,讓出CPU,這時T1比T2先睡醒,T1休息完成後繼續執行後又休息,T2也休息完繼續進行,就這樣直到線程結束。