Допустим, у меня под рукой 10000 заданий. Как я могу обрабатывать их параллельно, запустив точно 8 процессов в любое время? В момент завершения задачи следующая задача должна быть немедленно выбрана для выполнения.
for e in arr:
pr=Process(target=execute, args=(q,e))
pr.start()
pr.join()
Я хочу сделать это, потому что мой ЦП имеет только 8 аппаратных потоков. Переполнение его 10000 задачами одновременно замедлит общие вычисления из-за накладных расходов на переключение. Моя память также ограничена.
( Редактировать : Это не дубликат этого вопроса , поскольку я не спрашиваю, как обработать процесс.)