Java線程的五種狀態(tài)

什么是線程:

一個線程是進程的一個順序執(zhí)行流。同類的多個線程共享一塊內(nèi)存空間和一組系統(tǒng)資源,一個進程中可以包含多個線程。

進程與線程的區(qū)別

一個進程至少有一個線程咬摇。線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高煞躬。另外肛鹏,進程在執(zhí)行過程中擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存恩沛,從而極大地提高了程序的運行效率在扰。

線程狀態(tài)

新建狀態(tài)

當用new操作符創(chuàng)建一個線程時。此時程序還沒有開始運行線程中的代碼雷客。

就緒狀態(tài)

一個新創(chuàng)建的線程并不自動開始運行健田,要執(zhí)行線程,必須調(diào)用線程的start()方法佛纫。當線程對象調(diào)用start()方法即啟動了線程妓局,start()方法創(chuàng)建線程運行的系統(tǒng)資源,并調(diào)度線程運行run()方法呈宇。當start()方法返回后好爬,線程就處于就緒狀態(tài)。

處于就緒狀態(tài)的線程并不一定立即運行run()方法甥啄,線程還必須同其他線程競爭CPU時間存炮,只有獲得CPU時間才可以運行線程。因為在單CPU的計算機系統(tǒng)中蜈漓,不可能同時運行多個線程穆桂,一個時刻僅有一個線程處于運行狀態(tài)。因此此時可能有多個線程處于就緒狀態(tài)融虽。對多個處于就緒狀態(tài)的線程是由Java運行時系統(tǒng)的線程調(diào)度程序來調(diào)度的享完。

運行狀態(tài)(Running)

當線程獲得CPU時間后,它才進入運行狀態(tài)有额,真正開始執(zhí)行run()方法般又。

阻塞狀態(tài)(blocked)

線程運行過程中,可能由于各種原因進入阻塞狀態(tài):

①線程通過調(diào)用sleep方法進入睡眠狀態(tài)巍佑;

②線程調(diào)用一個在I/O上被阻塞的操作茴迁,即該操作在輸入輸出操作完成之前不會返回到它的調(diào)用者;

③線程試圖得到一個鎖萤衰,而該鎖正被其他線程持有堕义;

④線程在等待某個觸發(fā)條件;

所謂阻塞狀態(tài)是正在運行的線程沒有運行結(jié)束脆栋,暫時讓出CPU倦卖,這時其他處于就緒狀態(tài)的線程就可以獲得CPU時間昔馋,進入運行狀態(tài)。

死亡狀態(tài)

有兩個原因會導(dǎo)致線程死亡:

①run方法正常退出而自然死亡糖耸;

②一個未捕獲的異常終止了run方法而使線程猝死;

為了確定線程在當前是否存活著(就是要么是可運行的丘薛,要么是被阻塞了)嘉竟,需要使用isAlive方法,如果是可運行或被阻塞洋侨,這個方法返回true舍扰;如果線程仍舊是new狀態(tài)且不是可運行的,或者線程死亡了希坚,則返回false边苹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市裁僧,隨后出現(xiàn)的幾起案子个束,更是在濱河造成了極大的恐慌,老刑警劉巖聊疲,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茬底,死亡現(xiàn)場離奇詭異,居然都是意外死亡获洲,警方通過查閱死者的電腦和手機阱表,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贡珊,“玉大人最爬,你說我怎么就攤上這事勺阐「撤茫” “怎么了床佳?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵舰涌,是天一觀的道長帮辟。 經(jīng)常有香客問我凝颇,道長婶芭,這世上最難降的妖魔是什么纤勒? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任牢裳,我火速辦了婚禮逢防,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蒲讯。我一直安慰自己忘朝,他們只是感情好,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布判帮。 她就那樣靜靜地躺著局嘁,像睡著了一般溉箕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悦昵,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天肴茄,我揣著相機與錄音,去河邊找鬼但指。 笑死寡痰,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的棋凳。 我是一名探鬼主播拦坠,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼剩岳!你這毒婦竟也來了贞滨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拍棕,失蹤者是張志新(化名)和其女友劉穎晓铆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绰播,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡尤蒿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了幅垮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腰池。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖忙芒,靈堂內(nèi)的尸體忽然破棺而出示弓,到底是詐尸還是另有隱情,我是刑警寧澤呵萨,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布奏属,位于F島的核電站,受9級特大地震影響潮峦,放射性物質(zhì)發(fā)生泄漏囱皿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一忱嘹、第九天 我趴在偏房一處隱蔽的房頂上張望嘱腥。 院中可真熱鬧,春花似錦拘悦、人聲如沸齿兔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽分苇。三九已至添诉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間医寿,已是汗流浹背栏赴。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留靖秩,地道東北人须眷。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像盆偿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子准浴,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本文主要講了java中多線程的使用方法事扭、線程同步、線程數(shù)據(jù)傳遞乐横、線程狀態(tài)及相應(yīng)的一些線程函數(shù)用法求橄、概述等。 首先講...
    李欣陽閱讀 2,456評論 1 15
  • Java多線程學(xué)習(xí) [-] 一擴展javalangThread類 二實現(xiàn)javalangRunnable接口 三T...
    影馳閱讀 2,959評論 1 18
  • 又來到了一個老生常談的問題葡公,應(yīng)用層軟件開發(fā)的程序員要不要了解和深入學(xué)習(xí)操作系統(tǒng)呢罐农? 今天就這個問題開始,來談?wù)劜?..
    tangsl閱讀 4,129評論 0 23
  • 該文章轉(zhuǎn)自:http://blog.csdn.net/evankaka/article/details/44153...
    加來依藍閱讀 7,353評論 3 87
  • 這周小進步: 領(lǐng)悟了4個道理并且采取了相關(guān)行動: 1.向死而生: 當我痛苦的時候催什,明白幸福就在不遠處涵亏。 很多時候,...
    彭露_9d7f閱讀 173評論 0 0