Thread的理解

線程狀態:在給定時間點上,一個線程只能處于一種狀態。

public enum State {

NEW,//創建狀態

RUNNABLE,//可運行狀態

BLOCKED,//受阻塞并且正在等待監視器鎖的某一線程的線程狀態,是在多個線程有同步操作的場景

WAITING,//等待狀態

TIMED_WAITING,//定時的,等待不到來,也將定時喚醒自己。

TERMINATED //終止狀態

}

備注:區分 BLOCKED 和 WATING 的區別, 一個是在臨界點外面等待進入, 一個是在臨界點里面wait等待別人notify, 線程調用了join方法 join了另外的線程的時候, 也會進入WAITING狀態, 等待被他join的線程執行結束

線程常用函數

start();

stop();調用thread.stop()會導致線程所持有的所有鎖的突然釋放(不可控制),被保護數據有可能不一致。

join(); 讓一個線程等待另一個線程完成的方法

notify / notifyAll

isAlive()

isInterrupted()

interrupt()

線程優先級:1-10

這里補上線程狀態圖

問題:線程同步,守護線程,線程池狀態圖?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容