大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 線程池工作流程詳解

線程池工作流程詳解

更新時間:2020-11-16 17:36:42 來源:動力節點 瀏覽3784次

線程是一種寶貴的資源,也是一種有限的資源,創建和銷毀線程需要付出不菲的代價。這時候就要用到線程池了,線程池維護著多個線程,等待著監督管理者分配可并發執行的任務。這避免了在處理短時間任務時創建與銷毀線程的代價。本文我們就一起來深入學習線程池工作流程

線程池工作流程可以拆分成以下幾個部分:

1.提交任務

當向線程池提交一個新的任務時,線程池有三種處理情況,分別是:創建一個工作線程來執行該任務、將任務加入阻塞隊列、拒絕該任務。提交任務的過程也可以拆分成以下幾個部分:當工作線程數小于核心線程數時,直接創建新的核心工作線程當工作線程數不小于核心線程數時,就需要嘗試將任務添加到阻塞隊列中去如果能夠加入成功,說明隊列還沒有滿,那么需要做以下的二次驗證來保證添加進去的任務能夠成功被執行驗證當前線程池的運行狀態,如果是非RUNNING狀態,則需要將任務從阻塞隊列中移除,然后拒絕該任務驗證當前線程池中的工作線程的個數,如果為0,則需要主動添加一個空工作線程來執行剛剛添加到阻塞隊列中的任務如果加入失敗,則說明隊列已經滿了,那么這時就需要創建新的“臨時”工作線程來執行任務如果創建成功,則直接執行該任務如果創建失敗,則說明工作線程數已經等于最大線程數了,則只能拒絕該任務了。

2.創建工作線程

創建工作線程需要做一系列的判斷,需要確保當前線程池可以創建新的線程之后,才能創建。首先,當線程池的狀態是 SHUTDOWN 或者 STOP 時,則不能創建新的線程。另外,當線程工廠創建線程失敗時,也不能創建新的線程。還有就是當前工作線程的數量與核心線程數、最大線程數進行比較,如果前者大于后者的話,也不允許創建。除此之外,會嘗試通過 CAS 來自增工作線程的個數,如果自增成功了,則會創建新的工作線程,即 Worker 對象。然后加鎖進行二次驗證是否能夠創建工作線程,最后如果創建成功,則會啟動該工作線程。

3.啟動工作線程

當工作線程創建成功后,也就是 Worker 對象已經創建好了,這時就需要啟動該工作線程,讓線程開始干活了,Worker 對象中關聯著一個 Thread,所以要啟動工作線程的話,只要通過 worker.thread.start() 來啟動該線程即可。啟動完了之后,就會執行 Worker 對象的 run 方法,因為 Worker 實現了 Runnable 接口,所以本質上 Worker 也是一個線程。通過線程 start 開啟之后就會調用到 Runnable 的 run 方法,在 worker 對象的 run 方法中,調用了 runWorker(this) 方法,也就是把當前對象傳遞給了 runWorker 方法,讓他來執行。

4.獲取任務并執行

在 runWorker 方法被調用之后,就是執行具體的任務了,首先需要拿到一個可以執行的任務,而 Worker 對象中默認綁定了一個任務,如果該任務不為空的話,那么就是直接執行。執行完了之后,就會去阻塞隊列中獲取任務來執行,而獲取任務的過程,需要考慮當前工作線程的個數。如果工作線程數大于核心線程數,那么就需要通過 poll 來獲取,因為這時需要對閑置的線程進行回收;如果工作線程數小于等于核心線程數,那么就可以通過 take 來獲取了,因此這時所有的線程都是核心線程,不需要進行回收,前提是沒有設置 allowCoreThreadTimeOut。

以上就是整個線程池工作流程,我們對每個線程池工作步驟都進行了詳細的講解,為了加深對線程池的理解可以觀看本的多線程教程,深入學習更多的還沒有掌握的線程池知識。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产网红自拍 | 亚洲欧美色鬼久久综合 | 国产自精品在线 | 国产欧美日韩精品a在线观看高清 | 国产毛片哪里有 | 欧美操穴 | 操操碰| 日韩色区 | 亚洲国产精品视频在线观看 | 久久精品国产999久久久 | 女人18毛片a级 | 好吊妞在线成人免费 | 亚洲婷婷综合中文字幕第一页 | 欧美精品亚洲精品日韩一区 | 久久影片 | 18p爽视频在线观看免费 | 亚洲精品久久久久久久久久久网站 | 伊人色院成人蜜桃视频 | 亚洲国产最新 | 四虎免费在线 | 特级一级毛片 | 欧美一级在线观看 | 美女被羞羞在线观看 | 老司机性视频 | 日本精品一区二区三区在线观看 | 久久91亚洲精品中文字幕 | 婷婷激情五月综合 | 四虎影院4hu | 国产精品日韩欧美在线第3页 | 色婷婷在线视频 | porno xxxx日本 | 欧美洲精品亚洲精品中文字幕 | 国产欧美视频综合二区 | 伊人久久精品午夜 | 日韩免费在线视频观看 | 成人精品区| 欧美一级夜夜爽 视频 | 最新国产在线精品91尤物 | 亚洲日本中文字幕在线 | 一级毛片在线播放免费 | 99热最新网址 |