使用multiprocessing.Pool
,教程中有代码示例,您可以使用cpu计数设置进程数。你能用multiprocessing.Process
方法设置cpu的数量吗?
from multiprocessing import Process, Value, Array
def f(n, a):
n.value = 3.1415927
for i in range(len(a)):
a[i] = -a[i]
if __name__ == '__main__':
num = Value('d', 0.0)
arr = Array('i', range(10))
p = Process(target=f, args=(num, arr))
p.start()
p.join()
print(num.value)
print(arr[:])
答案 0 :(得分:2)
实际上Process
只代表一个只使用一个CPU的进程(如果你不使用线程) - 你可以根据需要创建尽可能多的Process
es。
这意味着您必须创建尽可能多的Process
es,因为您拥有CPU以使用所有这些(如果您在主进程中执行操作,则可能为-1)