栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用multiprocessing.Process并发进程数最多

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用multiprocessing.Process并发进程数最多

可能最明智的做法是

multiprocessing.Pool
根据系统上可用的最大内核数生成一个工作进程池,然后在内核可用时基本上提供任务。

标准文档(http://docs.python.org/2/library/multiprocessing.html#using-a-pool-of-
workers
)中的示例显示,您还可以手动设置核数:

from multiprocessing import Pooldef f(x):    return x*xif __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()
,如果代码中需要的话,也很容易知道有一种方法可以计算给定系统上的内核数。

编辑:这是一些看起来适合您的特定情况的代码草案:

import multiprocessingdef f(name):    print 'hello', nameif __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()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/455794.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号