欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python線程池ThreadPoolExecutor,傳單個(gè)參數(shù)和多個(gè)參數(shù)方式

 更新時(shí)間:2023年03月14日 10:19:32   作者:東貝鳥(niǎo)  
這篇文章主要介紹了python線程池ThreadPoolExecutor,傳單個(gè)參數(shù)和多個(gè)參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python線程池ThreadPoolExecutor,傳單個(gè)參數(shù)和多個(gè)參數(shù)

這是線程池傳單個(gè)參數(shù)的

from concurrent.futures import ThreadPoolExecutor,as_completed
def test(a):
? ? ? ? print(a)

qq = {"a":"1","b":"2","c":"3"}
with ThreadPoolExecutor() as pool:
? ? for j ,k in qq.items():
? ? ? ? res = pool.submit(test,j)
? ? ? ? kk = res.result()

下面是傳多個(gè)參數(shù)的

from concurrent.futures import ThreadPoolExecutor,as_completed
def test(a,b):
? ? ? ? print(a,b)

qq = {"a":"1","b":"2","c":"3"}
with ThreadPoolExecutor() as pool:
? ? for j ,k in qq.items():
? ? ? ? res = pool.submit(lambda cxp:test(*cxp),(j ,k))
? ? ? ? last= res.result())

主要就是 pool.submit(lambda cxp:test(*cxp),(j ,k))

這行代碼要拆開(kāi)來(lái)看

首先就是匿名函數(shù) :lambda cxp:test(*cxp) 這是第一步

這個(gè)的意思是:傳cxp參數(shù),傳到test里

第二步就是 submit(lambda cxp:test(cxp),(j ,k))

sumbit的方法是要傳兩個(gè)參數(shù)的,第一個(gè)是一個(gè)函數(shù),第二個(gè)是這個(gè)函數(shù)的參數(shù)

剛剛匿名函數(shù)就是第一個(gè)參數(shù),然后(j,k)是第二參數(shù),這個(gè)參數(shù)是要傳給函數(shù)的,于是 (j,k)就給了cxp

python線程池傳入多個(gè)參數(shù) ThreadPoolExecutor.submit 多參數(shù)支持

from concurrent.futures import ThreadPoolExecutor,as_completed
??
def doFileParse(filepath,segment,wordslist):
? ? ? print(filepath)
? ? ? print(segment)
??
#調(diào)用方法
#實(shí)質(zhì)就是通過(guò)lambda表達(dá)式過(guò)渡。傳入的參數(shù)是一個(gè),但是通過(guò)lambda表達(dá)多后拆散為多個(gè)傳入。這是很巧妙的方法,實(shí)際 就是 *p 這個(gè)表達(dá)式。
args =[filepath,thu1,Words]
?
newTask=executor.submit(lambda p: doFileParse(*p),args)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論