zoukankan      html  css  js  c++  java
  • python进程池pool的starmap的使用

    #!/usr/bin/env python3
    from functools import partial
    from itertools import repeat
    from multiprocessing import Pool, freeze_support
    
    def func(a, b):
        return a + b
    
    def main():
        a_args = [1,2,3]
        second_arg = 1
        with Pool() as pool:
            L = pool.starmap(func, [(1, 1), (2, 1), (3, 1)])
            M = pool.starmap(func, zip(a_args, repeat(second_arg)))
            N = pool.map(partial(func, b=second_arg), a_args)
            assert L == M == N
    
    if __name__=="__main__":
        freeze_support()
        main()

    原文看这里:https://stackoverflow.com/questions/5442910/python-multiprocessing-pool-map-for-multiple-arguments

      

    from functools import partial
    from itertools import repeat
    from multiprocessing import Pool, freeze_support
    
    
    def func(a, b, c):
        print(c)
        return a + b
    
    
    def main():
        a_args = [1, 2, 3]
        second_arg = 1
        with Pool() as pool:
            # L = pool.starmap(func, [(1, 1), (2, 1), (3, 1)])
            # M = pool.starmap(func, zip(a_args, repeat(second_arg)))
            N = pool.map(partial(func, b=second_arg,c="124"), a_args)
    
    
    if __name__ == "__main__":
        freeze_support()
        main()
    

      

  • 相关阅读:
    正则表达式---用户验证
    最短路 Dijkstra
    最短路 Dijkstra+堆优化
    LCIS(最长公共上升子序列)
    最小生成树 Kruskal
    网络流 最大流
    网络流 最小费用最大流
    树链剖分
    树状数组
    双重Hash
  • 原文地址:https://www.cnblogs.com/c-x-a/p/9049266.html
Copyright © 2011-2022 走看看