単一のサーバーに 1000 件のリクエストを送信したいと考えています。
スレッド モジュールを使用していますが、サーバーによってブロックされます。
一度に最大 10 個のスレッドのみを実行するスレッドを設定する方法(1000 のリストを形成する) は?
単一のサーバーに 1000 件のリクエストを送信したいと考えています。
スレッド モジュールを使用していますが、サーバーによってブロックされます。
一度に最大 10 個のスレッドのみを実行するスレッドを設定する方法(1000 のリストを形成する) は?
スレッド プーリングを使用します。Doug Hellman の優れたスレッド化記事に、スレッド プーリングの例があります。
マルチプロセッシング モジュールは、そのマルチプロセッシング プール API と同じ API を持つ文書化されていない ThreadPool 実装を提供します。
import multiprocessing.pool as mpool
def worker(url):
# process url
pool = mpool.ThreadPool(10)
for url in tasks:
pool.apply_async(target=worker, args=(url, ))
1 つの方法は、スレッド プール/worker パターンを使用することです。