我正在尝试使用 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()
生成的进程将具有初始进程的内存状态的副本。在新进程中所做的更改不会自动反映在父进程中,您需要通过使用Pipe
或Queue
交换对象或通过传递共享内存数据结构来显式执行此操作。有关示例,请阅读链接的文档。