Pythonで複数のサービスを並行して呼び出すにはどのようにすればよいですか?
Pythonでは、複数のサービスに対する並列呼び出しの実現方法がいくつかあり、ここでは2つの一般的な方法を紹介します。
- マルチプロセッシング
- 並列処理
- プロセス
- スタートする
from multiprocessing import Process
def service1():
# 实现服务1的代码
def service2():
# 实现服务2的代码
if __name__ == '__main__':
p1 = Process(target=service1)
p2 = Process(target=service2)
p1.start()
p2.start()
p1.join()
p2.join()
上記の例では、プロセスp1とp2を生成し、それぞれservice1とservice2メソッドを実行しました。次に、start()メソッドを使用してプロセスを起動し、join()メソッドを使用してプロセスが終了するまで待機しました。
- 並列実行
- 並行処理
- スレッドプールエグゼキューター
from concurrent.futures import ThreadPoolExecutor
def service1():
# 实现服务1的代码
def service2():
# 实现服务2的代码
if __name__ == '__main__':
with ThreadPoolExecutor() as executor:
future1 = executor.submit(service1)
future2 = executor.submit(service2)
上記の例では、ThreadPoolExecutorを使用してスレッドプールを作成し、submit()メソッドを使用してタスクであるservice1、service2をサブミットしています。スレッドプールはスレッドの作成と破棄を自動的に管理し、タスクを並列に実行します。
並行に複数のサービス呼び出しを実現する方法がいくつかあり、状況やニーズに応じて選択可能です。