文章内容
2021/2/3 11:18:31,作 者: 黄兵
在Python 3中Concurrent.futures 与 Multiprocessing 的区别
这篇文章详述了在Python 3中Concurrent.futures与Multiprocessing的异同。同时用代码的方式列举了两者之间的相似之处,代码摘录如下:
使用concurrent.futures的方式:
from concurrent.futures import ProcessPoolExecutor
def pool_factorizer_map(nums, nprocs):
# Let the executor divide the work among processes by using 'map'.
with ProcessPoolExecutor(max_workers=nprocs) as executor:
return {num:factors for num, factors in
zip(nums,
executor.map(factorize_naive, nums))}使用multiprocessing的方式:
import multiprocessing as mp
def mp_factorizer_map(nums, nprocs):
with mp.Pool(nprocs) as pool:
return {num:factors for num, factors in
zip(nums,
pool.map(factorize_naive, nums))}可以看到两者本质是相同的。
评论列表