Python:你能用多处理过程设置cpu计数吗?

时间:2016-09-05 14:29:36

标签: python multiprocessing cpu

使用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[:])

1 个答案:

答案 0 :(得分:2)

实际上Process只代表一个只使用一个CPU的进程(如果你不使用线程) - 你可以根据需要创建尽可能多的Process es。

这意味着您必须创建尽可能多的Process es,因为您拥有CPU以使用所有这些(如果您在主进程中执行操作,则可能为-1)

您可以使用multiprocessing.cpu_count

读取CPU数量