這篇文章將為大家詳細(xì)講解有關(guān)如何在Python中使用ThreadPoolExecutor線程池模塊,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
創(chuàng)新互聯(lián)公司一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實(shí)效"的一站式服務(wù),以網(wǎng)站制作、成都網(wǎng)站建設(shè)、移動(dòng)互聯(lián)產(chǎn)品、成都全網(wǎng)營銷推廣服務(wù)為核心業(yè)務(wù)。十年網(wǎng)站制作的經(jīng)驗(yàn),使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價(jià)格便宜而且實(shí)用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。具體如下:
python3內(nèi)置的有Threadingpool和ThreadPoolExecutor模塊,兩個(gè)都可以做線程池,當(dāng)然ThreadPoolExecutor會(huì)更好用一些,而且也有ProcessPoolExecutor進(jìn)程池模塊,使用方法基本一致。
首先導(dǎo)入模塊
from concurrent.futures import ThreadPoolExecutor
使用方法很簡單,最常用的可能就是map方法和submit+as_completed
注意,一定要使用with,而不要使用for,如果你一定要用for,那么一定要手動(dòng)進(jìn)行executor.shutdown
,而你使用了with方法的話,再with方法內(nèi)部已經(jīng)實(shí)現(xiàn)了wait()
,在使用完畢之后可以自行關(guān)閉線程池,減少資源浪費(fèi)。
使用map
with ThreadPoolExecutor(max_workers=2) as executor: result = executor.map(map_fun, itr_arg) '''map_fun:你傳入的要執(zhí)行的map函數(shù) itr_arg:一個(gè)可迭代的參數(shù),可以是列表字典等可迭代的對象 基本上和python的map函數(shù)一樣 注意result并不是你map_fun返回的結(jié)果,而是一個(gè)生成器,如果要從中去結(jié)果,你可以使用列表生成式或者其他你想使用的方法 ''' for res in result: print(res) #這個(gè)res就是你map_fun返回的結(jié)果,你可以在這里做進(jìn)一步處理
使用submit+as_completed也可以很靈活
with ThreadPoolExecutor(max_workers=2) as executor: future= executor.submit(fun, args) ''' 在這里你可以使用for循環(huán)來做,返回的是一個(gè)future對象 future_list=[] for i in range(max_workers): future= executor.submit(fun, args[i]) future_list.append(future) ''' for res in ac_completed(futrue_list): #這個(gè)futrure_list是你future對象的列表 print(res.result()) #循環(huán)遍歷時(shí)用.result()來取返回值
關(guān)于如何在Python中使用ThreadPoolExecutor線程池模塊就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
分享名稱:如何在Python中使用ThreadPoolExecutor線程池模塊-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://aaarwkj.com/article36/gcspg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、App開發(fā)、網(wǎng)站設(shè)計(jì)公司、小程序開發(fā)、外貿(mào)網(wǎng)站建設(shè)、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容