首页 > 解决方案 > 使用多处理将一个 python 列表复制到另一个

问题描述

我正在尝试使用 python 多处理模块将一个列表复制到另一个列表,但目标列表保持不变。下面的代码

import multiprocessing as mp
def copy_func(i,list2,list1):
    list2[i]=list1[i]
processes = []
for i in range(len(list2)):
    process = mp.Process(target=copy_func, args=(i,list2,list1))
    processes.append(process)
    process.start()
for process in processes:
    process.join()

标签: pythonmultithreadingmultiprocessing

解决方案


生成的进程将拥有初始进程的内存状态的副本。在新进程中所做的更改不会自动反映在父进程中,您需要通过使用or交换对象或传递共享内存数据结构来明确地做到这一点。阅读链接的文档以获取示例。PipeQueue


推荐阅读