【背景】
成都創(chuàng)新互聯(lián)憑借專業(yè)的設計團隊扎實的技術支持、優(yōu)質(zhì)高效的服務意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、網(wǎng)站設計、網(wǎng)站制作、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務,在成都10余年的網(wǎng)站建設設計經(jīng)驗,為成都1000多家中小型企業(yè)策劃設計了網(wǎng)站。
截至 Python 3.6.6,concurrent.futures.ThreadPoolExecutor 中用的都是無·界隊列,在生產(chǎn)速度大于消費速度時,可能會耗光系統(tǒng)資源,希望找到一種方式避免這種情況。
【方案一】
繼承 ThreadPoolExecutor,直接修改 _work_queue 為有界隊列。
優(yōu)點:簡單粗暴直接。
缺點:修改了私有屬性。
示例:https://stackoverflow.com/a/48327162
【方案二】
將任務分組,每組完成后再提交下一組。
優(yōu)點:無需繼承,不改變私有屬性;能切實有效的避免資源耗費。
缺點:組之間的任務是同步的,未充分利用線程,即使有剩余任務也有空閑線程存在。
示例:https://stackoverflow.com/a/49622149
【方案三】
創(chuàng)建工具類委托給 ThreadPoolExecutor 實例。
優(yōu)點:無需繼承,不改變私有屬性;充分利用了線程,有剩余任務時不會有空閑線程存在。
缺點:實現(xiàn)較為復雜。
示例:https://www.bettercodebytes.com/theadpoolexecutor-with-a-bounded-queue-in-python/
【相關閱讀】
Python3并發(fā)檢驗代理池地址
*** walker ***
新聞名稱:關于Python3ThreadPoolExecutor的隊列大小
轉載注明:http://m.newbst.com/article10/jeiigo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、靜態(tài)網(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)