多进程编程demo

在服务器资源丰富的情况下,可以启用多进程加速大规模数据的处理过程。

本节以demo展示,输入1000个数组成的列表,以列表的形式对应输出其平方结果。

定义基础func功能函数:输入一个数,输出其平方结果。

开启10个进程,每个进程执行一遍func函数。

设置1000次循环,每次循环调用一个进程,执行一步func功能。

import multiprocessing as mp

def func(x):
    return x**2

def generate_data(size):
    return list(range(size))

def muilt_process(input_list):
    pool = mp.Pool(processes=10) #10个进程
    result = []
    for x in input_list:
        result.append(pool.apply_async(func,(x,)))
    print ("The main's mark")
    pool.close()
    pool.join()
    print ("All's done!")
    return [i.get() for i in result] #注意每个进程返回的结果需要执行.get方法获取数值

if __name__== "__main__":
    print(muilt_process(generate_data(100)))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值