3

Python のマルチスレッド化は少し難しいと聞いたことがありますが、必要なものを実装するための最善の方法がわかりません。IO_intensive_function応答を取得するのに時間がかかる可能性のある API 呼び出しを行う関数が呼び出されたとします。

ジョブをキューに入れるプロセスは次のようになります。

import thread
for job_args in jobs:
    thread.start_new_thread(IO_intense_function, (job_args))

IO_intense_functionバックグラウンドでタスクを実行するだけで、より多くのジョブをキューに入れることができますか?

this questionも見ました。これは、次のことを行うだけのアプローチのようです。

from multiprocessing.dummy import Pool as ThreadPool
pool = ThreadPool(2)
results = pool.map(IO_intensive_function, jobs)

相互に通信するためにこれらのタスクは必要ないため、唯一の目標は API リクエストをできるだけ速く送信することです。これが最も効率的な方法ですか?ありがとう。

編集: API リクエストを作成する方法は、Thrift サービスを使用することです。

4

2 に答える 2