多处理不执行任何类函数 - python2.7.13

时间:2017-09-15 08:46:04

标签: python class python-multiprocessing

我试图使用pool.apply_async()异步运行类函数。但似乎我无法在## test.py ## import multiprocessing as mp from testclass import testclass def nonclass_test(): print("nonclass_test") def nonclass_callback(self): print("nonclass_callback") pool = mp.Pool() test = testclass() #test.test() #print("testclass working ...") #pool.apply_async(nonclass_test, args = (), callback = nonclass_callback) pool.apply_async(test.test, args = (), callback = nonclass_callback) pool.apply_async(test.test, args = (test, ), callback = test.callback) pool.close() pool.join() 内调用任何类函数。但是在同一个文件中定义的函数很好。

这是已知的行为吗?我错过了它,如果是的话,我怎么能以尽可能少的代码异步运行我的函数?

这是我的两个文件,证明了这个问题:

## testclass.py ##
class testclass:
    def __init__(self):
        print("initiated")

    def test(self):
        print("classtest")

    def callback(self):
        print("classcallback")

-

"nonclass_test"

在我的输出中,我只收到消息"nonclass_callback"127.0.0.1。似乎正在执行类函数(既不回调也不是实际函数)。

感谢您的帮助。

0 个答案:

没有答案