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 サービスを使用することです。