qq_35753140的博客

疯琴的学习记录

python multiprocess.pool —— 大家好,我是池子

上一篇博客python多进程逐对比较文档相似度+均分比较次数里面开始用multiprocess,用得很原始,比较笨。把100次比较切成等分的4份,每份25次,因为每次比较的计算量是不同的,虽然切成均分的份数了,但是实际上往往3个进程跑完了,还有一个计算量大的要单独跑半天。然后研究了一下pool,于是池子来了。

少啰嗦,先看代码:

result = Manager().list()

p1 = Pool()
for i in range(len(files) - 1):
    for j in range(i + 1, len(files)):
        p1.apply_async(compare, args=(files[i], files[j], result))

p1.close()
p1.join()

for line in result:
    print(line)

创建进程池,循环每一次比较的两个文件,丢进进程池,处理完了自动再将下一次需要比较的两个文件丢进池子里,显然聪明和快多了。进程数作为Pool()的参数,不设定就是逻辑cpu数。

阅读更多
文章标签: python 多进程
个人分类: python
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭