日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自定义线程池-线程池工作流程介绍

發布時間:2024/4/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自定义线程池-线程池工作流程介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ThreadPoolExecutor參數詳解

我們可以通過下面的場景理解ThreadPoolExecutor中的各個參數;

a客戶(任務)去銀行(線程池)辦理業務,但銀行剛開始營業,窗口服務員還未就位(相當于線程池中初始線程數量為0),

于是經理(線程池管理者)就安排1號工作人員(創建1號線程執行任務)接待a客戶(創建線程);

在a客戶業務還沒辦完時,b客戶(任務)又來了,于是經理(線程池管理者)就安排2號工作人員(創建2號線程執行任務)接待b客戶(創建了一個新的線程);假設該銀行總共就2個窗口(核心線程數量是2);

緊接著在a,b客戶都沒有結束的情況下c客戶來了,于是經理(線程池管理者)就安排c客戶先坐到銀行大廳的座位上(空位相當于是任務隊列)等候,

并告知他: 如果1、2號工作人員空出,c就可以前去辦理業務;

此時d客戶又到了銀行,(工作人員都在忙,大廳座位也滿了)于是經理趕緊安排臨時工(新創建的線程)在大堂站著,手持pad設備給d客戶辦理業務;

假如前面的業務都沒有結束的時候e客戶又來了,此時正式工作人員都上了,臨時工也上了,座位也滿了(臨時工加正式員工的總數量就是最大線程數),

于是經理只能按《超出銀行最大接待能力處理辦法》(飽和處理機制)拒接接待e客戶;

最后,進來辦業務的人少了,大廳的臨時工空閑時間也超過了1小時(最大空閑時間),經理就會讓這部分空閑的員工人下班.(銷毀線程)

但是為了保證銀行銀行正常工作(有一個allowCoreThreadTimeout變量控制是否允許銷毀核心線程,默認false),即使正式工閑著,也不得提前下班,所以1、2號工作人員繼續待著(池內保持核心線程數量);

?

線程池工作流程總結示意圖

?

總結

以上是生活随笔為你收集整理的自定义线程池-线程池工作流程介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。