2014-12-24 40 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