Я новичок в многопроцессорности в Python (и даже в самом деле Python), и я пытался получить первый пример кода из документов. python .org для запуска в Jupyter Notebook, но ячейка никогда не останавливается и ничего не возвращается. Что я делаю не так?
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(f, [1, 2, 3]))
Добавить 1
Я нашел статью на Средний и, видимо, заставить ее работать в Jupyter необходимо сохранить функцию в отдельном файле .py
, затем импортировать ее и использовать в вызове Pool.map
. Таким образом, предполагая, что определение f(x)
сохранено в my_functions.py
, нужно сделать следующее
from multiprocessing import Pool
import my_functions
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(my_functions.f, [1, 2, 3]))
Что это все значит? ...