使用多处理python附加到同一列表

2024-05-08 01:25:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望在同一个列表中附加不同的进程:

import multiprocessing as mp

def foo(n,L):
    a
    L.append(n)

pool = mp.Pool(processes=2)
manager = mp.Manager()

L= manager.list()

l=[[1,2],[3,4],[5,6],[7,8]]

[pool.apply_async(foo, args=[n,L]) for n in l]

但是

^{pr2}$

我做错什么了?在

编辑:问题是我的原始代码中有回溯,但没有打印在屏幕上。例如,如果我运行上面的代码,而a不存在,则不会计算其余代码,但不会引发异常。有没有一种方法可以进行多处理打印回溯以便调试代码?在


Tags: 代码import列表foo进程defasmanager
1条回答
网友
1楼 · 发布于 2024-05-08 01:25:24

因为你还没有等到任务完成。在

import multiprocessing as mp

def foo(n,L):
    L.append(n)

pool = mp.Pool(processes=2)
manager = mp.Manager()

L= manager.list()

l=[[1,2],[3,4],[5,6],[7,8]]

[pool.apply_async(foo, args=[n,L]) for n in l]
pool.close()
pool.join()
print(L)

相关问题 更多 >