Python, использующий несколько процессоров

Допустим, у меня есть большой список музыки разной длины, которую нужно преобразовать, или изображений разного размера, которые нужно изменить, или что-то в этом роде. Порядок не имеет значения, поэтому он идеально подходит для разделения между несколькими процессорами.

Если я использую функцию карты multiprocessing.Pool, кажется, что вся работа делится заранее и не принимает во внимание тот факт, что некоторые файлы могут занимать больше времени, чем другие.

Что происходит, так это то, что если у меня 12 процессоров ... ближе к концу обработки, У 1 или 2 процессоров останется 2 или 3 файла для обработки, в то время как другие процессоры, которые могут быть использованы, простаивают.

Есть ли какая-то реализация очереди, которая может поддерживать все процессоры загруженными, пока не останется больше работы?

11
задан Jason Sundram 20 September 2013 в 09:30
поделиться