以下是一个示例代码,展示了如何使用并行化评估和逐点相加列表。
import multiprocessing
def evaluate_parallel(expression, values):
# 创建一个进程池,使用所有可用的CPU核心
pool = multiprocessing.Pool()
# 并行化评估表达式的每个元素
results = pool.map(expression, values)
# 关闭进程池
pool.close()
pool.join()
return results
def add_lists(list1, list2):
return [x + y for x, y in zip(list1, list2)]
if __name__ == '__main__':
# 假设有两个待相加的列表
list1 = [1, 2, 3, 4, 5]
list2 = [6, 7, 8, 9, 10]
# 并行化评估和逐点相加列表
results = evaluate_parallel(add_lists, zip(list1, list2))
print(results)
在上面的示例代码中,evaluate_parallel
函数使用multiprocessing.Pool
创建一个进程池,然后使用pool.map
方法并行化评估表达式的每个元素。add_lists
函数将两个列表的对应元素相加,并返回结果。zip(list1, list2)
将两个列表的对应元素打包成一个元组,然后通过evaluate_parallel
函数并行化评估。最后,通过print
打印结果。
请注意,由于在Windows平台上,多进程必须通过if __name__ == '__main__':
检查来保护全局变量,因此将代码放在if __name__ == '__main__':
块中。
下一篇:并行化Python中的循环