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

时间:2013-10-27 15:52:05

标签: python multithreading

我想向单个服务员提出1000个请求。

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

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

3 个答案:

答案 0 :(得分:7)

使用线程池。 Doug Hellman的优秀thread pooling example中有一个threading article

答案 1 :(得分:5)

multiprocessing module提供了一个未记录的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, ))

答案 2 :(得分:3)

一种方法是使用thread pool /工人模式。