У меня есть код 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
запущен?