python进程数上限_python-使用multiprocessing.Process并发进程数最多
可能最明智的方法是使用multiprocessing.cpu_count(),它根據(jù)系統(tǒng)上可用的最大內(nèi)核數(shù)生成一個工作進(jìn)程池,然后基本上在內(nèi)核可用時提供任務(wù)。
標(biāo)準(zhǔn)文檔([http://docs.python.org/2/library/multiprocessing.html#using-a-pool-of-workers)]中的示例顯示,您還可以手動設(shè)置核數(shù):
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]"
而且,如果代碼中需要的話,很容易知道有multiprocessing.cpu_count()方法可以計算給定系統(tǒng)上的內(nèi)核數(shù)。
編輯:這是一些看起來適合您的特定情況的代碼草案:
import multiprocessing
def f(name):
print 'hello', name
if __name__ == '__main__':
pool = multiprocessing.Pool() #use all available cores, otherwise specify the number you want as an argument
for i in xrange(0, 512):
pool.apply_async(f, args=(i,))
pool.close()
pool.join()
總結(jié)
以上是生活随笔為你收集整理的python进程数上限_python-使用multiprocessing.Process并发进程数最多的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 从字符串中随机选取4个字符
- 下一篇: pdf复制乱码_一键解决PDF转换问题,