您的位置:首页 > 编程语言 > Python开发

python进程池pool的starmap的使用

2018-05-17 09:11 826 查看
#!/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()

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: