Python многопроцессорная обработка в Jupyter не прекращается - PullRequest
0 голосов
/ 15 апреля 2020

Я новичок в многопроцессорности в 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]))

Что это все значит? ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...