Czy pule wieloprocesorowe dają każdemu procesowi taką samą liczbę zadań, czy też są przydzielane jako dostępne?

Kiedy tymap iterowalny do amultiprocessing.Pool czy iteracje są podzielone na kolejkę dla każdego procesu w puli na początku, czy też istnieje wspólna kolejka, z której wykonywane jest zadanie, gdy proces przychodzi za darmo?

    def generate_stuff():
        for foo in range(100):
             yield foo

    def process(moo):
        print moo

    pool = multiprocessing.Pool()
    pool.map(func=process, iterable=generate_stuff())
    pool.close()

Podano więc ten nieprzetestowany kod sugestii; jeśli w puli znajdują się 4 procesy, każdy proces otrzymuje przydzielone 25 rzeczy do zrobienia, czy też 100 rzeczy jest wybieranych jeden po drugim przez procesy szukające rzeczy do zrobienia, aby każdy proces mógł wykonać inną liczbę rzeczy, np. 30 , 26, 24, 20.

questionAnswers(3)

yourAnswerToTheQuestion