Предоставляют ли многопроцессорные пулы каждому процессу одинаковое количество задач или они назначаются доступными?

Когда тыmap итеративный кmultiprocessing.Pool делятся ли итерации на очередь для каждого процесса в пуле в начале, или существует общая очередь, из которой берется задача, когда процесс освобождается?

    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()

Итак, учитывая этот непроверенный код предложения; если в пуле 4 процесса, каждому процессу выделено 25 вещей для выполнения, или же 100 элементов отбираются один за другим процессами, которые ищут вещи, которые нужно сделать, чтобы каждый процесс мог выполнять различное количество вещей, например 30 26, 24, 20.

Ответы на вопрос(3)

Ваш ответ на вопрос