У меня есть код Python:
from multiprocessing import Process
def f(name):
print 'hello', name
if __name__ == '__main__':
for i in range(0, MAX_PROCESSES):
p = Process(target=f, args=(i,))
p.start()
который работает хорошо. Однако MAX_PROCESSES является переменной и может принимать любое значение от 1 до 512. Поскольку я запускаю этот код только на машине с 8 ядрами, мне нужно выяснить, возможно ли ограничить число процессов, разрешенных для одновременной работы. Я изучил multiprocessing.Queue, но он не похож на то, что мне нужно, или, возможно, я неправильно интерпретирую документы.
Есть ли способ ограничить количество одновременных multiprocessing.Process процессов. multiprocessing.Process запущен?