創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
本篇文章給大家分享的是有關(guān)深入淺析java中線程池與線程池框架的原理,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
java 線程池詳解
什么是線程池?
提供一組線程資源用來復(fù)用線程資源的一個池子
為什么要用線程池?
線程的資源是有限的,當處理一組業(yè)務(wù)的時候,我們需要不斷的創(chuàng)建和銷毀線程,大多數(shù)情況下,我們需要反復(fù)的進行大量的創(chuàng)建和銷毀工作,這個動作對于服務(wù)器而言,也是很浪費的一種情況,這時候我們可以利用線程池來復(fù)用這一部分已經(jīng)創(chuàng)建過的線程資源,避免不斷的創(chuàng)建和銷毀的動作。
線程池的原理
創(chuàng)建好固定數(shù)量的線程,吧線程先存下來,有任務(wù)提交的時候,把資源放到等待隊列中,等待線程池中的任務(wù)隊列不斷的去消費處理這個隊列中的任務(wù)
java的線程池原理
有5個核心的屬性:大線程數(shù)量,核心線程數(shù)量,等待隊列,任務(wù)隊列,拒絕策略
它的執(zhí)行流程是這樣的:
java的線程池框架Executor
Executor里提供了4種類型的線程池:
newCachedThreadPool
注意,放入CachedThreadPool的線程不必擔心其結(jié)束,超過TIMEOUT不活動,其會自動被終止。
newFixedThreadPool
newScheduledThreadPool
SingleThreadExecutor
線程池調(diào)優(yōu)
一般來講對于一個線程池沒有固定的合適的參數(shù),只有通過不斷的去調(diào)整優(yōu)化參數(shù),找出最適合自己業(yè)務(wù)的參數(shù)才是最好的調(diào)優(yōu)方式,但是通常來講,線程池的初始化參數(shù)設(shè)置是有一定的公式可以借鑒的,在開始業(yè)務(wù)不是足夠膨脹的時候,我們可以通過以下的公式來計算出自己的核心參數(shù)的設(shè)置。
首先我們要確認業(yè)務(wù)類型,不同的業(yè)務(wù)有不同的計算公式:
以上就是深入淺析java中線程池與線程池框架的原理,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
文章名稱:深入淺析java中線程池與線程池框架的原理-創(chuàng)新互聯(lián)
分享路徑:http://www.rwnh.cn/article34/hdepe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、搜索引擎優(yōu)化、面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化、微信小程序、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容