Python数据分析实战-多进程并发处理列表(附源码和实现效果)

实现功能

有15个列表,尝试多进程并发处理,每个列表一个进程,进程数和 CPU 核数一致

实现代码

import multiprocessing
'''
有15个列表,尝试多进程并发处理,每个列表一个进程,进程数和 CPU 核数一致
'''
def sum_list(lst):
    return sum(lst)

if __name__ == '__main__':
    # 获取 CPU 核数
    num_cores = multiprocessing.cpu_count()

    lists = [[1,2,3], [4,5,6], [7,8,9], [10,11,12], [13,14,15],
             [16,17,18], [19,20,21], [22,23,24], [25,26,27], [28,29,30],
             [31,32,33], [34,35,36], [37,38,39], [40,41,42], [43,44,45]]

    pool = multiprocessing.Pool(processes=num_cores)
    
    # 向进程池提交任务,列表每个元素是一个任务
    results = []
    for i in lists:
        res = pool.apply_async(sum_list, args=(i,))
        results.append(res.get())
    # 另一种等价方式,使用map
    # results = pool.map(sum_list, lists)
    pool.close()
    pool.join()
    print(results)

实现效果

Python数据分析实战-多进程并发处理列表(附源码和实现效果)_第1张图片

 

本人读研期间发表5篇SCI数据挖掘相关论文,现在某研究院从事数据挖掘相关科研工作,对数据挖掘有一定认知和理解,会结合自身科研实践经历不定期分享关于python机器学习、深度学习、数据挖掘基础知识与案例。

致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。

邀请三个朋友关注V订阅号:数据杂坛,即可在后台联系我获取相关数据集和源码,送有关数据分析、数据挖掘、机器学习、深度学习相关的电子书籍。

你可能感兴趣的:(Python数据开发,数据分析,Python,python,数据分析)