2024-09-19 23:37:06 发布
网友
对于下面的代码,假设我有一台32核的机器,python会决定为我创建多少进程吗
from multiprocessing import Process for i in range(100): p = Process(target=run, args=(fileToAnalyse,)) p.start()
不,这不适合你
要限制子进程的数量,需要使用a pool of workers
文档中的示例:
from multiprocessing import Pool def f(x): return x*x if __name__ == '__main__': pool = Pool(processes=4) # start 4 worker processes result = pool.apply_async(f, [10]) # evaluate "f(10)" asynchronously print result.get(timeout=1) # prints "100" unless your computer is *very* slow print pool.map(f, range(10)) # prints "[0, 1, 4,..., 81]"
如果省略,processes=4,它将使用返回cpu数量的multiprocessing.cpu_count
processes=4
multiprocessing.cpu_count
不,这不适合你
要限制子进程的数量,需要使用a pool of workers
文档中的示例:
如果省略,
processes=4
,它将使用返回cpu数量的multiprocessing.cpu_count
相关问题 更多 >
编程相关推荐