Я пытаюсь понять модуль многопроцессорности Python. В приведенном ниже коде создается 4 процесса и выполняется запуск функции f(x)
.Pulton multiprocessing получить результаты
Вопросы
- Я создаю 4 процесса, но повинуясь несколько задач (е, [10]). Будет ли модуль автоматически запускаться каждые 4 процесса в любое время?
- Я фиксирую результат в списке. Что вернет
pool.apply_async
, будут ли они распечатывать заявления в задании или что-то, возвращаемое методом?
При выполнении этого кода он отображает только 100, но не другие значения.
from multiprocessing import Pool
def f(x):
print x*x
return x*x
if __name__ == '__main__':
result = []
pool = Pool(processes=4)
result.append(pool.apply_async(f, [10]))
out = map(lambda x: x.get(), result)
Все ваши вопросы отвечают в документах: https://docs.python.org/2/library/multiprocessing.html – Wolph