単一のパラメータと複数のパラメータをPythonスレッドプールに渡す方法ThreadPoolExecutor

王林
リリース: 2023-04-19 19:22:04
転載
2419 人が閲覧しました

    Python スレッド プール ThreadPoolExecutor、単一パラメータと複数パラメータを渡す

    これは、単一パラメータを渡すスレッド プールです

    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()
    ログイン後にコピー

    次の複数のパラメータを渡す主な方法は、pool.submit(lambda cxp:test(*cxp),(j,k))です。

    このコード行は、逆アセンブルして表示する必要があります。

    最初は匿名関数です: 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 サイトの他の関連記事を参照してください。

    関連ラベル:
    ソース:yisu.com
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!