2014-12-24 41 views
1

是否有可能重新使用python线程对象来避免不必要的线程创建? 在以下情况下可能会有用。有很多任务必须使用线程池进行并行处理,其大小远小于任务数量。python重用线程对象

我知道存在multiprocessing.Pool,但使用线程而非进程非常重要。

+1

[Python线程池类似于多处理池?]的可能的重复(http://stackoverflow.com/questions/3033952/python-thread-pool-similar-to-the-multiprocessing-pool) –

回答

3

如果您使用的是Python 3,最好的方法是定义为使用concurrent.futures.ThreadPoolExecutor

其实你应该阅读concurrent.futures的整个文档,这不是很长,并且有很多很好的例子。

+0

有没有东西相同的Python 2? – itun

+0

@itun concurrent.futures已被移植到Py2,请参阅https://pypi.python.org/pypi/futures,或者您可以尝试使用'ThreadPool'在http://stackoverflow.com/questions/3033952/python-线程池类似于多处理池,我没有使用它,所以没有更多的我咳嗽说。 – laike9m