Python では、特に次の場合、パフォーマンスを最適化するために複数の関数を同時に実行することが望ましい場合があります。機能は独立しており、互いに干渉しません。この記事では、関数を並列実行するためのテクニックについて説明します。
CPython インタプリタの制限により、スレッド化では真の並列処理が提供されない可能性があります。ただし、一般にマルチプロセッシングの方がパフォーマンスが向上します。
次の例で、func1 と func2 の 2 つの関数を並列実行する場合を考えてみましょう。
def func1(): # Some code def func2(): # Some code
マルチプロセッシングを使用してこれらの関数を同時に実行するには、次のコマンドを使用できます。手順:
各関数の Process オブジェクトの作成:
p1 = Process(target=func1) p2 = Process(target=func2)
プロセスの開始:
p1.start() p2.start()
プロセスが完了するまで待ちます。 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 サイトの他の関連記事を参照してください。