我在 year_queue 中有一个大约 15 年的列表,我需要每年生成一个进程。但是根据我运行代码的服务器,处理器的数量会有所不同。如何根据服务器中的处理器数量动态改变变量 num_processes?
如果我设置 num_processes > 处理器数量,它会相应地自动生成吗?当我对此进行测试时 - 它会创建 15 个进程并在它们之间分配 CPU 能力。我正在寻找一种方法来首先创建“n”个进程,其中 n = 服务器中的处理器数,然后随着每个进程完成,下一个进程被生成。
for i in range(num_processes):
worker = ForEachPerson(year_queue, result_queue, i, dict_of_files)
print "worker spawned for " + str(i)
worker.start()
results = []
while len(results) < len(years):
result = result_queue.get()
results.append(result)
有人有同样的问题吗?
while year_queue.empty() != True:
for i in range(num_processes):
worker = ForEachPerson(year_queue, result_queue, i, dict_of_files)
print "worker spawned for " + str(i)
worker.start()
# collect results off the queue
print "results being collected"
results = []
while len(results) < len(num_processes):
result = result_queue.get()
results.append(result)