Python:“int not callable”与p的多处理

2024-10-01 04:51:42 发布

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

我在对池进行多处理时出错(pop索引超出范围),当我试图简化我的代码以将其发布到此处时,我又遇到了一个错误,因此这有点令人费解,请参阅下面的代码:

def some_function(a, b):
    return a*b

neigbhourhood = [[object() for _ in range(3)] for _ in range(3)]
result = [[object() for _ in range(3)] for _ in range(3)]
pool = Pool()
for i in range(0, 3):
    for j in range(0, 3):
        neigbhourhood[i][j] = pool.apply_async(some_function(i, j))

for k in range(0, 3):
    for l in range(0, 3):
        result[k][l] = neigbhourhood[k][l].get()
pool.close()

回溯是关于在第34行(带有get的行)不可调用的int对象。在

编辑:好的,这只是参数的输入错误pool.apply_异步,现在它可以工作了,但是我真正的代码仍然随机崩溃,当我简化代码时,我不能重复错误,我不明白。在


Tags: 代码inforgetobject错误rangefunction
1条回答
网友
1楼 · 发布于 2024-10-01 04:51:42

问题在于您调用apply_async的方式。它要求您传递将传递给所提供函数的函数回调和参数。在

pool.apply.async(some_function, [x, y])

相关问题 更多 >