2013-06-11 8 views
1

У меня возникли трудности с пониманием цели пула в многопроцессорном модуле Python.Цель пула в многопроцессорности python

Я знаю, что делает этот код:

import multiprocessing 

def worker(): 
    """worker function""" 
    print 'Worker' 
    return 

if __name__ == '__main__': 
    jobs = [] 
    for i in range(5): 
     p = multiprocessing.Process(target=worker) 
     jobs.append(p) 
     p.start() 

Так что мой вопрос, в какой тип ситуации будет использоваться пул?

ответ

2

Pool Объекты полезны, если вы хотите, чтобы предоставить дополнительные задания для подпроцессов, но вы не хотите обрабатывать всю организацию этих задач (то есть, сколько процессов должно быть создано для их обработки). задача перейти к какому процессу и т. д.), и вы заботитесь только о значении результата, а не о какой-либо другой синхронизации и т. д. Вы не хотите иметь контроль над вычислением подпроцесса, а просто результат.

С другой стороны Process используется, когда вы хотите, чтобы выполнить определенное действие, и вы необходимость контроль над суб-процесса, а не только от результата его вычисления.

Смежные вопросы