當前位置:首頁 » 編程語言 » java讓線程睡眠

java讓線程睡眠

發布時間: 2022-08-05 07:56:51

『壹』 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也休息完繼續進行,就這樣直到線程結束。

熱點內容
易語言靜態編譯後軟體位置 發布:2025-01-23 01:05:38 瀏覽:465
剪力牆壓腳筋大小怎麼配置 發布:2025-01-23 00:50:53 瀏覽:534
騰訊雲cos雲伺服器 發布:2025-01-23 00:46:47 瀏覽:63
如何給安卓平板刷上MIUI系統 發布:2025-01-23 00:45:51 瀏覽:73
2開方演算法 發布:2025-01-23 00:27:21 瀏覽:16
如何看自己steam伺服器 發布:2025-01-23 00:07:21 瀏覽:710
armlinux命令 發布:2025-01-23 00:01:08 瀏覽:137
戰地4亞洲伺服器為什麼被攻擊 發布:2025-01-22 23:45:42 瀏覽:671
javascript反編譯 發布:2025-01-22 23:37:57 瀏覽:432
夏天來了你的巴氏奶存儲對嗎 發布:2025-01-22 23:37:56 瀏覽:206