成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何在Android中使用ThreadPoolExecutor線程池-創(chuàng)新互聯(lián)

如何在Android中使用ThreadPoolExecutor線程池?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

烈山ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

Android中的線程池ThreadPoolExecutor解決了單線程下載數(shù)據(jù)的效率慢和線程阻塞的的問題,它的應用也是優(yōu)化實現(xiàn)的方式。所以它的重要性不言而喻,但是它的復雜性也大,理解上可能會有問題,不過作為安卓工程師,了解這個也是必然的。

ThreadPoolExecutor有幾個構造函數(shù),最多參數(shù)的構造函數(shù)最常用,下面會詳細介紹各個參數(shù)的含義及其幾個參數(shù)之間的關系:

<span >ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, handler)</span>

各個參數(shù)的含義:

corePoolSize: 核心線程數(shù),能夠同時執(zhí)行的任務數(shù)量

maximumPoolSize:除去緩沖隊列中等待的任務,大能容納的任務數(shù)(其實是包括了核心線程池數(shù)量)

keepAliveTime:超出workQueue的等待任務的存活時間maximumPoolSize放置的一個線程的存活時間

unit:時間單位

workQueue:阻塞等待線程的隊列,一般使用new LinkedBlockingQueue<Runnable>()這個,如果不指定容量, 會一直往里邊添加,沒有限制,workQueue永遠不會滿;

threadFactory:創(chuàng)建線程的工廠,使用系統(tǒng)默認的類

handler:當任務數(shù)超過maximumPoolSize時,對任務的處理策略,默認策略是拒絕添加

需要注意的是這里的handler與安卓中的handler不同

執(zhí)行流程:

當線程數(shù)小于corePoolSize時,每添加一個任務,則立即開啟線程執(zhí)行

當corePoolSize滿的時候,后面添加的任務將放入緩沖隊列workQueue等待;

當workQueue也滿的時候,看是否超過maximumPoolSize線程數(shù),如果超過,默認拒絕執(zhí)行

總結來說:核心線程corePoolSize、任務隊列workQueue、大線程maximumPoolSize,如果三者都滿了,使用handler處理被拒絕的任務。當一個線程的存活時間到達指定的存活時間索命該線程的任務已執(zhí)行完,該線程的生命周期結束,被拒絕的線程可以重新進入線程池中開始任務,依次循環(huán)此過程。

舉例說明:

假如:

corePoolSize=2,maximumPoolSize=3,workQueue容量為8;

最開始,執(zhí)行的任務A,B,此時corePoolSize已用完,再次執(zhí)行任務C,則C將被放入緩沖隊列workQueue中等待著,如果后來又添加了7個任務,此時workQueue已滿,則后面再來的任務的數(shù)量是5將會和maximumPoolSize比較,由于maximumPoolSize為3,所以只能容納1個了,因為包含corePollSize個數(shù),所以后面來的任務默認都會被拒絕4個。

關于如何在Android中使用ThreadPoolExecutor線程池問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。

網(wǎng)站名稱:如何在Android中使用ThreadPoolExecutor線程池-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article20/cchojo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站設計微信公眾號、服務器托管、手機網(wǎng)站建設、網(wǎng)站設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設計公司
扶余县| 通江县| 汉中市| 闻喜县| 普宁市| 襄垣县| 利辛县| 马山县| 德兴市| 杨浦区| 芦山县| 桐柏县| 樟树市| 五台县| 宝鸡市| 昌邑市| 南和县| 丹寨县| 宁城县| 渝中区| 余干县| 读书| 云安县| 松原市| 福贡县| 海盐县| 塔城市| 响水县| 新化县| 梓潼县| 新竹市| 伊宁县| 方山县| 浮山县| 龙游县| 吉林市| 铜鼓县| 上虞市| 紫云| 台南市| 龙里县|