Python многопроцессорный пул не работает при импорте пользовательских классов в сценарии - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть простой Python скрипт, который запускает параллельный пул:

import multiprocessing as mp

def square(x):
    return x**2

if __name__ == '__main__':
    pool = mp.Pool(4)
    results=pool.map(square,range(1,20))

Он работает нормально и, как и ожидалось. Однако, если я импортирую какой-либо простой пользовательский класс, такой как приведенный ниже код, он больше не работает. Я запускаю выполнение сценария, но сценарий не прекращается. Это странно, поскольку я не использую импортированный класс.

import multiprocessing as mp
from Person import Person

def square(x):
    return x**2

if __name__ == '__main__':
    pool = mp.Pool(4)
    results=pool.map(square,range(1,20))

Класс Person очень прост:

class Person:
  def __init__(self, id):
    self.id = id

В чем причина этого поведение и как я могу это исправить?

РЕДАКТИРОВАТЬ: я использую Windows 10

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