真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

多線程(三、線程池原理)-創(chuàng)新互聯(lián)

背景

阿里電面-線程池是如何實現(xiàn)的?這個問題的側(cè)重點是什么?

普通的數(shù)據(jù)庫連接池的概念一般是這樣的,多個被靜態(tài)代理或者動態(tài)代理生成的數(shù)據(jù)庫連接,直接放到一個池子里,比方說一個隊列,這個數(shù)據(jù)庫連接池提供了如下的方法:

多線程(三、線程池原理)

成都創(chuàng)新互聯(lián)長期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為甘谷企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都做網(wǎng)站,甘谷網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

這是典型的池化的思想。

Java的線程池則不是這個池化的思想

Java的線程池是生產(chǎn)者-消費者模式。

ThreadPoolExecutor的構(gòu)造函數(shù)很復(fù)雜,它的7個參數(shù)分別如下:

ThreadPoolExecutor(int corePoolSize,
                              int maximumPoolSize,
                              long keepAliveTime,
                              TimeUnit unit,
                              BlockingQueue workQueue,
                              ThreadFactory threadFactory,
                              RejectedExecutionHandler handler)
corePoolSize,表示線程池保有的最小線程數(shù);
maximumPoolSize,表示線程池的大線程數(shù)。
keepAliveTime&unit,如果一個線程空閑了keepAliveTime&unit的時間之后,而且線程數(shù)大于corePoolSize,那么這個線程就要被回了。
workQueue,工作隊列,注意這個隊列不是用來存放線程的,而是用來存放任務(wù)的,這個和其他池化的思想是不一樣的。
threadFactory,這個參數(shù)自定義創(chuàng)建線程,比方說指定線程的名字。
handler 如果線程都再忙碌或者任務(wù)隊列已滿,自定義任務(wù)的拒絕策略,一共4種,當(dāng)然1.6以后也支持通過方法allowsCoreThreadTimeOut 實現(xiàn)所有線程都能超時退出。

1、CallerRunsPolicy,提交任務(wù)的線程自己去執(zhí)行任務(wù)。
2、AbortPolicy 默認(rèn)的拒絕策略,拋出異常。
3、DiscardPolicy,直接丟棄任務(wù),不拋出異常。
4、DiscardOldestPolicy,丟棄最老的任務(wù),新任務(wù)增加到工作對列

那么線程池放到哪里了呢?

線程都放在了一個HashSet里面了

多線程(三、線程池原理)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


當(dāng)前名稱:多線程(三、線程池原理)-創(chuàng)新互聯(lián)
分享URL:http://weahome.cn/article/ceodhi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部