マルチプロセッシングを使用して Python 関数を同時に実行するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-21 12:08:11
オリジナル
405 人が閲覧しました

How Can I Run Python Functions Concurrently Using Multiprocessing?

Python で関数を同時に実行する方法

はじめに

Python では、特に次の場合、パフォーマンスを最適化するために複数の関数を同時に実行することが望ましい場合があります。機能は独立しており、互いに干渉しません。この記事では、関数を並列実行するためのテクニックについて説明します。

スレッドとマルチプロセッシングの使用

CPython インタプリタの制限により、スレッド化では真の並列処理が提供されない可能性があります。ただし、一般にマルチプロセッシングの方がパフォーマンスが向上します。

実装例

次の例で、func1 と func2 の 2 つの関数を並列実行する場合を考えてみましょう。

def func1():
    # Some code

def func2():
    # Some code
ログイン後にコピー

マルチプロセッシングを使用してこれらの関数を同時に実行するには、次のコマンドを使用できます。手順:

  1. 各関数の Process オブジェクトの作成:

    p1 = Process(target=func1)
    p2 = Process(target=func2)
    ログイン後にコピー
  2. プロセスの開始:

    p1.start()
    p2.start()
    ログイン後にコピー
  3. プロセスが完了するまで待ちます。 complete:

    p1.join()
    p2.join()
    ログイン後にコピー

カプセル化

関数を並列実行するプロセスを簡素化するために、ユーティリティ関数を定義できます:

def runInParallel(*fns):
    # Start the processes
    for fn in fns:
        p = Process(target=fn)
        p.start()

    # Wait for the processes to finish
    for p in fns:
        p.join()
ログイン後にコピー

この関数を使用すると、次の 2 つの関数を簡単に同時に実行できるようになります:

runInParallel(func1, func2)
ログイン後にコピー

以上がマルチプロセッシングを使用して Python 関数を同時に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート