Очень простой пример многопроцессорной обработки с pool.apply () никогда не вызывает функцию и не завершает - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь настроить самый простой пример multiprocessing ниже. Однако выполнение только печатает here и <_MainProcess(MainProcess, started)> и pool.apply() даже никогда не вызывает функцию cube(). Вместо этого выполнение просто продолжается бесконечно без остановки.

import multiprocessing as mp

def cube(x):
    print('in function')
    return x**3

if __name__ == '__main__':
    pool = mp.Pool(processes=4)
    print('here')
    print(mp.current_process())

    results = [pool.apply(cube, args=(x,)) for x in range(1,7)]
    print('now here')

    pool.close()
    pool.join()
    print(results)

Я пробовал различные другие базовые примеры, включая pool.map(), но продолжаю сталкиваться с той же проблемой. Я использую Python 3.7 на Windows 10. Поскольку у меня нет идей, кто-нибудь знает, что здесь не так или как я могу отладить это дальше?

Спасибо!

1 Ответ

0 голосов
/ 01 апреля 2019

Спасибо, обновление до Python 3.7.3 решило проблему.

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