Допустим, у меня есть большой список музыки различной длины, которую нужно преобразовать, или изображения разных размеров, которые нужно изменить в размерах или что-то в этом роде.Порядок не имеет значения, поэтому он идеально подходит для разделения на несколько процессоров.
Если я использую multiprocessing.Pool, функция map кажется, что вся работа разделена заранее и не учитываетТот факт, что некоторые файлы могут занять больше времени, чем другие.
Что происходит, если у меня 12 процессоров ... ближе к концу обработки, 1 или 2 процессору останется 2 или 3 файла для обработки, покадругие процессоры, которые могут быть использованы, бездействуют.
Существует ли какая-либо реализация очереди, которая может поддерживать загрузку всех процессоров до тех пор, пока не останется больше работы?