小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

java學(xué)習(xí)——111.線程的狀態(tài)

 pythonjava學(xué)習(xí) 2021-04-06

線程是從創(chuàng)建到執(zhí)行完畢,總共有6個(gè)狀態(tài),

1. New(新建態(tài))

  當(dāng)用new操作符創(chuàng)建一個(gè)新線程時(shí),如 new Thread(r), 該線程還沒有開始運(yùn)行。這意味著它的狀態(tài)是new。

2. Runnable(運(yùn)行態(tài))

 一旦線程調(diào)用start()方法,線程就處于runnable狀態(tài)。

3. Blocked(阻塞態(tài))

受阻塞并等待某個(gè)監(jiān)視器鎖的線程處于這種狀態(tài)。

4. Waiting(等待態(tài))

無限期地等待另一個(gè)線程來執(zhí)行。某一特定操作的線程處于這種狀態(tài)

5.Timed Waiting(計(jì)時(shí)等待態(tài))

當(dāng)線程處于被阻塞或等待狀態(tài)時(shí),它暫時(shí)不活動(dòng)。它不運(yùn)行任何代碼且消耗最少的資源。直到線程調(diào)度器重新激活它。細(xì)節(jié)取決于它是怎樣達(dá)到非活動(dòng)狀態(tài)的。

6. Terminated(終止態(tài))

   線程因如下兩個(gè)原因之一而被終止:

   1) 因?yàn)閞un方法正常退出而自然死亡

   2) 因?yàn)橐粋€(gè)沒有捕獲的異常終止了run方法意外死亡

各狀態(tài)是可以轉(zhuǎn)換的,借用網(wǎng)絡(luò)上一圖說明各狀態(tài)的轉(zhuǎn)換:

簡(jiǎn)單示例:

本例說明了三個(gè)狀態(tài):新建后為NEW狀態(tài),start()后為RUNNABLE狀態(tài),線程執(zhí)行結(jié)束后為TERMINATED態(tài)。

其完整代碼如下:

本例僅簡(jiǎn)單演示這三個(gè)狀態(tài),簡(jiǎn)單起見,我讓run()方法的方法體為空。

public class ThreadLearn implements Runnable{

    public void run() { }

    public static void main(String args[]) {

       ThreadLearn target1=new ThreadLearn();//創(chuàng)建類的一個(gè)對(duì)象

       Thread thread=new Thread(target1,"lay");//創(chuàng)建線程類的對(duì)象,target1為線程的目標(biāo)對(duì)象,線程名為奇數(shù)

       System.out.println("new "+thread.getName()+"線程的狀態(tài)是:"+thread.getState());

       thread.start();//啟動(dòng)線程

       System.out.println("start "+thread.getName()+"線程的狀態(tài)是:"+thread.getState());

      System.out.println("start "+thread.getName()+"線程是否活動(dòng)中:"+thread.isAlive());

       System.out.println("start "+thread.getName()+"線程的狀態(tài)是:"+thread.getState())

    }

}

其運(yùn)行結(jié)果如下:

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多