运行 与 Python 列表中的不同项目并行执行相同的功能
Run same function parallelly with different items in the list in Python
我有以下代码,我想使用多处理或线程或 Python 3.x 中的任何其他方法并行获取嵌套列表中每个列表的总和。我该如何处理?所有子列表或至少 2 个子列表应 运行 同时 addition
起作用。
提前致谢!
nested_list = [[2,3,4], [4,5,6], [7,8,9], [10,11,12]]
def addition(list):
tot = sum(list)
return tot
for list in nested_list:
tot = addition(list)
print (tot)
给一个女人或男人一条鱼,你可以喂她或他一天。教女人或男人钓鱼,你会养活他或她一辈子。
检查此 article。这很棒!
这个案例并不复杂,所以你在阅读和尝试 10-15 分钟后就可以解决这个问题和类似的问题了。
注意!在 CPU-bound 任务(例如您的任务)的情况下,您不想看向 multithreading
。在这种情况下,在 Python 的情况下,只有 multiprocessing 会引入并行性。
祝你好运!
您不需要线程,因为您的任务是 CPU 绑定的。
from multiprocessing import Pool
with Pool(5) as p:
print(p.map(addition, nested_list))
其他方式
import concurrent
with concurrent.futures.ProcessPoolExecutor() as executor:
print(executor.map(addition, nested_list))
multiprocessing模块可用于基于进程的并行编程。
from multiprocessing import Pool
nested_list = [[2,3,4], [4,5,6], [7,8,9], [10,11,12]]
with Pool(5) as p:
print(p.map(sum, nested_list))
我有以下代码,我想使用多处理或线程或 Python 3.x 中的任何其他方法并行获取嵌套列表中每个列表的总和。我该如何处理?所有子列表或至少 2 个子列表应 运行 同时 addition
起作用。
提前致谢!
nested_list = [[2,3,4], [4,5,6], [7,8,9], [10,11,12]]
def addition(list):
tot = sum(list)
return tot
for list in nested_list:
tot = addition(list)
print (tot)
给一个女人或男人一条鱼,你可以喂她或他一天。教女人或男人钓鱼,你会养活他或她一辈子。
检查此 article。这很棒! 这个案例并不复杂,所以你在阅读和尝试 10-15 分钟后就可以解决这个问题和类似的问题了。
注意!在 CPU-bound 任务(例如您的任务)的情况下,您不想看向 multithreading
。在这种情况下,在 Python 的情况下,只有 multiprocessing 会引入并行性。
祝你好运!
您不需要线程,因为您的任务是 CPU 绑定的。
from multiprocessing import Pool
with Pool(5) as p:
print(p.map(addition, nested_list))
其他方式
import concurrent
with concurrent.futures.ProcessPoolExecutor() as executor:
print(executor.map(addition, nested_list))
multiprocessing模块可用于基于进程的并行编程。
from multiprocessing import Pool
nested_list = [[2,3,4], [4,5,6], [7,8,9], [10,11,12]]
with Pool(5) as p:
print(p.map(sum, nested_list))