zoukankan      html  css  js  c++  java
  • python3 用multiprocessing模块传递多个参数

    from datetime import datetime
    from time import sleep
    import numpy as np
    import multiprocessing
    # from multiprocessing.dummy import Pool as ThreadPool
    
    
    def func(x, y, z):
        sleep(3)
        return x+y, z
    
    
    if __name__ == '__main__':
        pool = multiprocessing.Pool(processes=6)
        x = np.zeros((6, 1), dtype=int)
        y = np.zeros((6, 1), dtype=int)
        z = np.zeros((6, 1), dtype=int)
        result = []
    
        for i in range(6):
            x[i,0] = i
            y[i,0] = i
            z[i,0] = i
    
        xx = np.squeeze(x)
        yy = np.squeeze(y)
        zz = np.squeeze(z)
        c = list(zip(xx, yy, zz))
        print(c)
        cc = np.array(c)
        # print(cc)
        # d = [(0, 0, 0), (1, 1, 1), (2, 2, 2), (3, 3, 3), (4, 4, 4), (5, 5, 5)]
        print(datetime.now())
        result = pool.starmap(func, c)
        print(result)
        print(datetime.now())

    # from functools import partial
    #
    # def sum(a, b, c):
    # return a + b + c
    #
    # a = 'abc'
    # b = "ABC"
    # c = "123"
    # pa = partial(sum, a)
    # re = pa(b, c)
    #
    # print(re)
  • 相关阅读:
    SublimeText3激活
    Mysql数据备份
    supervisor介绍与使用
    spark-submit介绍
    Spark之spark.sql
    MarkDown编写方法
    Nginx配置多级代理后获取用户真实IP
    Hive之UDF解释
    Hive之分组取前几条记录
    Hive之Map和Reduce的优化
  • 原文地址:https://www.cnblogs.com/karl-python/p/15044499.html
Copyright © 2011-2022 走看看