python 并行demo

2020-04-09  本文已影响0人  司马山哥

pool.map()函数,有两个参数可以传,第一个参数传的是函数,第二个参数传的是数据列表。
那么怎么在第二个数据列表,多传几个参数呢,方法是通过对有多个参数的方法进行封装,在进程中运行封装后的方法。
类似如下调用job1()方法:

# -*- coding:utf-8 -*-

import time
import multiprocessing


def job(x ,y):
    """
    :param x:
    :param y:
    :return:
    """
    return x * y

def job1(z):
    """
    :param z:
    :return:
    """
    return job(z[0], z[1])


if __name__ == "__main__":
    time1=time.time()
    pool = multiprocessing.Pool(2)
    data_list=[(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10)]
    res = pool.map(job1,data_list)
    time2=time.time()
    print(res)
    pool.close()
    pool.join()
    print('总共耗时:' + str(time2 - time1) + 's')
上一篇 下一篇

猜你喜欢

热点阅读