線程池是什么?
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括澄海網(wǎng)站建設(shè)、澄海網(wǎng)站制作、澄海網(wǎng)頁(yè)制作以及澄海網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,澄海網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到澄海省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!線程池(英語(yǔ):thread pool):一種線程使用模式。線程過(guò)多會(huì)帶來(lái)調(diào)度開(kāi)銷(xiāo),進(jìn)而影響緩存局部性和整體性能。而線程池維護(hù)著多個(gè)線程,等待著監(jiān)督管理者分配可并發(fā)執(zhí)行的任務(wù)。這避免了在處理短時(shí)間任務(wù)時(shí)創(chuàng)建與銷(xiāo)毀線程的代價(jià)。線程池不僅能夠保證內(nèi)核的充分利用,還能防止過(guò)分調(diào)度??捎镁€程數(shù)量應(yīng)該取決于可用的并發(fā)處理器、處理器內(nèi)核、內(nèi)存、網(wǎng)絡(luò)sockets等的數(shù)量。 例如,線程數(shù)一般取cpu數(shù)量+2比較合適,線程數(shù)過(guò)多會(huì)導(dǎo)致額外的線程切換開(kāi)銷(xiāo)。
如果所有線程池都始終保持繁忙,但隊(duì)列中包含掛起的工作,則線程池將在一段時(shí)間后輔助線程的數(shù)目永遠(yuǎn)不會(huì)超過(guò)大值。超過(guò)大值的線程可以排隊(duì),但他們要等到其他線程完成后才能啟動(dòng)。
java里面的線程池的頂級(jí)接口是Executor,Executor并不是一個(gè)線程池,而只是一個(gè)執(zhí)行線程的工具,而真正的線程池是ExecutorService。
java中的有哪些線程池?
1.newCachedThreadPool創(chuàng)建一個(gè)可緩存線程池程
2.newFixedThreadPool 創(chuàng)建一個(gè)定長(zhǎng)線程池
3.newScheduledThreadPool 創(chuàng)建一個(gè)定長(zhǎng)線程池
4.newSingleThreadExecutor 創(chuàng)建一個(gè)單線程化的線程池
下面一一分析:
newCachedThreadPool,是一種線程數(shù)量不定的線程池,并且其大線程數(shù)為Integer.MAX_VALUE,這個(gè)數(shù)是很大的,一個(gè)可緩存線程池,如果線程池長(zhǎng)度超過(guò)處理需要,可靈活回收空閑線程,若無(wú)可回收,則新建線程。但是線程池中的空閑線程都有超時(shí)限制,這個(gè)超時(shí)時(shí)長(zhǎng)是60秒,超過(guò)60秒閑置線程就會(huì)被回收。
調(diào)用execute將重用以前構(gòu)造的線程(如果線程可用)。這類(lèi)線程池比較適合執(zhí)行大量的耗時(shí)較少的任務(wù),當(dāng)整個(gè)線程池都處于閑置狀態(tài)時(shí),線程池中的線程都會(huì)超時(shí)被停止。
newFixedThreadPool 創(chuàng)建一個(gè)指定工作線程數(shù)量的線程池,每當(dāng)提交一個(gè)任務(wù)就創(chuàng)建一個(gè)工作線程,當(dāng)線程 處于空閑狀態(tài)時(shí),它們并不會(huì)被回收,除非線程池被關(guān)閉了,如果工作線程數(shù)量達(dá)到線程池初始的大數(shù),則將提交的任務(wù)存入到池隊(duì)列(沒(méi)有大小限制)中。
由于newFixedThreadPool只有核心線程并且這些核心線程不會(huì)被回收,這樣它更加快速底相應(yīng)外界的請(qǐng)求。
newScheduledThreadPool 創(chuàng)建一個(gè)線程池,它的核心線程數(shù)量是固定的,而非核心線程數(shù)是沒(méi)有限制的,并且當(dāng)非核心線程閑置時(shí)會(huì)被立即回收,它可安排給定延遲后運(yùn)行命令或者定期地執(zhí)行。這類(lèi)線程池主要用于執(zhí)行定時(shí)任務(wù)和具有固定周期的重復(fù)任務(wù)。
newSingleThreadExecutor這類(lèi)線程池內(nèi)部只有一個(gè)核心線程,以無(wú)界隊(duì)列方式來(lái)執(zhí)行該線程,這使得這些任務(wù)之間不需要處理線程同步的問(wèn)題,它確保所有的任務(wù)都在同一個(gè)線程中按順序中執(zhí)行,并且可以在任意給定的時(shí)間不會(huì)有多個(gè)線程是活動(dòng)的。
以上就是java線程池是什么的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司其它相關(guān)文章!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
文章標(biāo)題:java中的有哪些線程池-創(chuàng)新互聯(lián)
文章地址:http://www.rwnh.cn/article32/ceshpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站收錄、小程序開(kāi)發(fā)、品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容