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()
このコード行は、逆アセンブルして表示する必要があります。
最初は匿名関数です: lambda cxp:test(*cxp) これが最初のステップです
これは意味します: cxp パラメータを test に渡します
2 番目のステップは submit(lambda cxp:test(cxp),(j,k))sumbit メソッドには 2 つのパラメータを渡す必要があります。最初のパラメータは関数で、2 番目のパラメータは this のパラメータです。 function
先ほどの匿名関数が最初のパラメータで、(j,k) が 2 番目のパラメータです。このパラメータは関数に渡されるため、(j,k ) は cxp
を与えます複数のパラメータを渡すための Python スレッド プール ThreadPoolExecutor.submit マルチパラメータ サポート
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())
以上が単一のパラメータと複数のパラメータをPythonスレッドプールに渡す方法ThreadPoolExecutorの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。