免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
java學習——111.線程的狀態(tài)

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

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

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

2. Runnable(運行態(tài))

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

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

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

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

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

5.Timed Waiting(計時等待態(tài))

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

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

   線程因如下兩個原因之一而被終止:

   1) 因為run方法正常退出而自然死亡

   2) 因為一個沒有捕獲的異常終止了run方法意外死亡

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

簡單示例:

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

其完整代碼如下:

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

public class ThreadLearn implements Runnable{

    public void run() { }

    public static void main(String args[]) {

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

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

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

       thread.start();//啟動線程

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

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

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

    }

}

其運行結果如下:

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
[Java并發(fā)編程]
多線程爬坑之路
沉淀再出發(fā):再談java的多線程機制
Java并發(fā)之線程中斷
Java總結篇系列:Java多線程(一)
整理總結Java多線程程序編寫的要點
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服