我在python(2.7.6)代码中有一个方法,我希望通过遵循another SO question中给出的建议来使用多线程子进程
代码当前是这样的:
return self.capi(roi_rgb,"",False)
我就是这样转换的:
pool = multiprocessing.Pool(None)
result = ""
r = pool.map_async(self.capi(roi_rgb,"",False), callback=result)
r.wait()
return result
但是我在调用pool.map_async
时遇到了上述错误
TypeError: map_async() takes at least 3 arguments (3 given)
根据https://docs.python.org/2/library/multiprocessing.html,您需要给出至少两个位置参数,其中一个位置参数和一个关键字参数(第三个隐含参数是self)
因此,需要将函数和iterable与回调一起传递给方法
顺便说一句,这是一个非常无用的错误信息,不是吗
相关问题 更多 >
编程相关推荐