2017-11-09 5 views
0
# coding: utf-8 

import multiprocessing 


class A(object): 

    def __init__(self): 
     pass 

    def run(self): 
     sheets = ['a', 'b', 'c', 'd', 'e'] 
     result = [] 

     pool = multiprocessing.Pool(processes=5) 

     for index, sheet in enumerate(sheets): 
      result.append(pool.apply_async(self.test, (sheet))) 

     pool.close() 
     pool.join() 

     for data in result: 
      print data.get() 

    def test(self, args): 
     return args 


if __name__ == '__main__': 
    A().run() 

を酸洗いすることはできませんではない漬物を:属性 参照を組み込み .instancemethod failedPythonのマルチプロセッシングは、<型「instancemethod」>私はあなたの答えを得ることを期待して、エラーを上記のコードを実行して取得しよう

答えて

0
# coding: utf-8 

import multiprocessing 

def proxy(cls_instance, args): 
    return cls_instance.test(args) 


class A(object): 

    def __init__(self): 
     pass 

    def run(self): 
     sheets = ['a', 'b', 'c', 'd', 'e'] 
     result = [] 

     pool = multiprocessing.Pool(processes=5) 

     for index, sheet in enumerate(sheets): 
      result.append(pool.apply_async(proxy, (self, sheet))) 

     pool.close() 
     pool.join() 

     for data in result: 
      print data.get() 

    def test(self, args): 
     return args 


if __name__ == '__main__': 
    A().run() 
関連する問題

 関連する問題