一:執行緒和程序的區別
程序是所有執行緒的集合,每乙個執行緒是程序中的一條執行路徑;
二:建立執行緒的三種方式
1.繼承thread類 重寫run方法
class creatthread extends thread }}
public class threaddemo
}}
2.實現runnable介面,重寫run方法
class creatrunable implements runnable }}
public class threaddemo1
}}
3.使用匿名內部類方式
public class threaddemo3
}}).start();
; //主線程
for (int i = 0; i < 100; i++)
}}
三:多執行緒的執行狀態
1、新建狀態
new thread():當我們new乙個執行緒例項的時候處於新建狀態;
2、就緒狀態
start():當執行緒物件呼叫start()方法即啟動了執行緒,start()方法建立執行緒執行的系統資源,並排程執行緒執行run()方法。當start()方法返回後,執行緒就處於就緒狀態。,處於就緒狀態的執行緒並不一定立即執行run()方法,執行緒還必須同其他執行緒競爭cpu時間,只有獲得cpu時間才可以執行執行緒;
3、執行狀態
run():當執行緒獲得cpu時間後,它才進入執行狀態,真正開始執行run()方法;
4、阻塞狀態
sleep():執行緒通過呼叫sleep方法進入睡眠狀態等;
5、死亡狀態
(1) run方法正常退出而自然死亡;
(2) 乙個未捕獲的異常終止了run方法而使執行緒猝死;
執行緒的執行狀態
執行緒從建立 執行到結束總是處於5種狀態之一 分別是新建狀態,就緒狀態,執行狀態,阻塞狀態,死亡狀態。這5種狀態之間的轉換流程如圖 新建狀態 當成功建立乙個執行緒,但是還未呼叫start方法之前的狀態,例如 thread thread new thread new runnable catch in...
執行緒的執行狀態
1,建立 當建立好執行緒物件的時候,也就是new thread類或者是new thread子類的時候。此時稱為建立狀態 2,就緒 當執行緒物件呼叫了start 方法,開啟執行緒了的時候,此時的執行緒已經開啟了,隨時可能會被cpu執行,因為cpu一此只能執行乙個執行緒,當其他執行緒已經開起了,但還沒有...
執行狀態監控的方式
一般有3種常用的執行狀態的監控方式,分別是利用作業系統命令 利用客戶端命令和工具 服務端介面支援。下面分別介紹。1 利用作業系統命令 1 網路命令 ping nslookup nm tool tracetroute dig telnet nc curl 2 監控程序 ps netstat pgrep...