如何一次最多运行 10 个线程



我想向一个服务器发出 1000 个请求。

使用线程模块,但服务器阻止了我。

如何设置一次最多只能运行 10 个线程的线程(形成 1000 个线程的列表)?

使用线程池。在Doug Hellman的优秀线程文章中有一个线程池示例。

多处理模块提供了一个未记录的 ThreadPool 实现,该实现具有与其多处理池 API 相同的 API:

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, ))

一种方法是使用线程池/工作线程模式。

最新更新