Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:您能用多处理进程设置cpu计数吗_Python_Multiprocessing_Cpu - Fatal编程技术网

Python:您能用多处理进程设置cpu计数吗

Python:您能用多处理进程设置cpu计数吗,python,multiprocessing,cpu,Python,Multiprocessing,Cpu,使用multiprocessing.Pool,教程中有一些代码示例,您可以使用cpu计数设置进程数。您能用多处理.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 =

使用
multiprocessing.Pool
,教程中有一些代码示例,您可以使用cpu计数设置进程数。您能用
多处理.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[:])

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

这意味着您必须创建尽可能多的
进程
e,因为您有CPU来使用它们(如果您在主进程中执行操作,则可能为-1)


您可以使用读取CPU的数量实际上
进程
只表示一个只使用一个CPU的进程(如果您不使用线程)-您可以根据需要创建尽可能多的
进程

这意味着您必须创建尽可能多的
进程
e,因为您有CPU来使用它们(如果您在主进程中执行操作,则可能为-1)


您可以使用

读取CPU的数量实际上,您的程序可以很容易地修改为使用
多处理。池-因此您不必明确地关注CPU计数。实际上,您的程序可以很容易地修改为使用多处理。池-因此您不必明确地关注CPU计数无法设置与
多处理一起使用的cpu计数
-您所能做的就是创建尽可能多的cpu,并希望操作系统能在cpu之间很好地分配这些cpu。@merlin您无法使用池设置
cpu
的数量,您只能设置进程的数量。您必须明确地这样做,例如跟踪主进程中已创建进程的数量,并检查何时要创建新进程。@Merlin
process
只启动一个进程(每次调用),因此,没有什么可设置的。实际上,您无法设置与
多处理一起使用的cpu的计数-您所能做的就是创建尽可能多的cpu,并希望操作系统在cpu之间很好地分配它们。@merlin您不能使用池设置
cpu的数量
,您只能设置进程的数量。您必须明确地这样做,例如跟踪主进程中已创建进程的数量,并检查何时要创建新进程。@Merlin
process
只启动一个进程(每次调用),因此无需设置。