0
我想为类方法使用多处理。我从answer中发现,Pool
在multiprocessing
中不能直接使用类方法,但是通过在类之外定义一个函数并向该函数添加一个附加参数(类似的建议也在此blog上) 。因此,我试图通过以下简单的程序来实现这一点,其中MyClass
我想平行fun
。但是,我没有得到任何结果(没有错误)。看来我错过了一些东西,但我觉得我快到了!任何修复都非常感谢。用于类方法的多处理
import multiprocessing
class MyClass:
def __init__(self):
pass
def fun(self, myList):
print myList
def unwrap_fun(obj, myList):
return obj.fun(myList)
obj = MyClass()
mlp = multiprocessing.Pool(processes=multiprocessing.cpu_count())
mlp.imap_unordered(unwrap_fun, (obj, range(1, 10)))
非常感谢。 – Medo