2014-12-24 5 views
1

Можно ли повторно использовать объект нити python, чтобы избежать ненужного создания потока? Это может быть полезно в следующей ситуации. Существует множество задач, которые необходимо распараллелить с помощью пула потоков, размер которого намного меньше числа задач.python reuse thread object

Я знаю, что существует многопроцессорное обслуживание.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- thread-pool-like-to-multiprocessing-pool, я не использовал его, поэтому я не могу сказать больше. – laike9m