Java多線程

已有22099人在學習 分享
√視頻 √源碼 √筆記 √課件
添加老師微信獲取全套視頻

劉老師

陳老師

1

第一步

2

第二步

3

第三步

關注尚學堂微信公眾號

尚學堂訂閱號

回復關鍵字

java基礎

即可獲取本教程

下載地址及密碼

  • 課程目錄

  • 課程介紹

  • 課程評論

多線程作為Java中很重要的一個知識點,在此還是有必要總結一下的。

一.線程的生命周期及五種基本狀態

關于Java中線程的生命周期,首先看一下下面這張較為經典的圖:



上圖中基本上囊括了Java中多線程各重要知識點。掌握了上圖中的各知識點,Java中的多線程也就基本上掌握了。主要包括:

Java線程具有五中基本狀態

新建狀態(New):當線程對象對創建后,即進入了新建狀態,如:Thread t = new MyThread();

就緒狀態(Runnable):當調用線程對象的start()方法(t.start();),線程即進入就緒狀態。處于就緒狀態的線程,只是說明此線程已經做好了準備,隨時等待CPU調度執行,并不是說執行了t.start()此線程立即就會執行;

運行狀態(Running):當CPU開始調度處于就緒狀態的線程時,此時線程才得以真正執行,即進入到運行狀態。注:就 ? ? 緒狀態是進入到運行狀態的唯一入口,也就是說,線程要想進入運行狀態執行,首先必須處于就緒狀態中;

阻塞狀態(Blocked):處于運行狀態中的線程由于某種原因,暫時放棄對CPU的使用權,停止執行,此時進入阻塞狀態,直到其進入到就緒狀態,才 有機會再次被CPU調用以進入到運行狀態。根據阻塞產生的原因不同,阻塞狀態又可以分為三種:

1.等待阻塞:運行狀態中的線程執行wait()方法,使本線程進入到等待阻塞狀態;

2.同步阻塞 -- 線程在獲取synchronized同步鎖失敗(因為鎖被其它線程所占用),它會進入同步阻塞狀態;

3.其他阻塞 -- 通過調用線程的sleep()或join()或發出了I/O請求時,線程會進入到阻塞狀態。當sleep()狀態超時、join()等待線程終止或者超時、或者I/O處理完畢時,線程重新轉入就緒狀態。

死亡狀態(Dead):線程執行完了或者因異常退出了run()方法,該線程結束生命周期。

看過該課程的同學還看過

親,請下載視頻觀看?。?!

×
綁定手機

應《中華人民共和國網絡安全法》要求我們將進一步強化實名認證機制。為全面體驗產品服務,煩請您綁定手機號。

×
填寫動態碼
短信驗證碼已發送至
  • 關注獲取海量免費視頻(深圳中心)

  • 關注獲取海量免費視頻(廣州中心)

深圳校區電話:18948349646(陳老師) / 18902484256(劉老師)
Copyright 2007-2020 深圳市百戰程序員科技有限公司 粵ICP備17017511號
亚洲手机在线人成网站_亚洲日本va一区二区三区_亚洲欧洲日产国码高潮