Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想向单个服务器发出 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, ))
一种方法是使用线程池/工作者模式。