一部のコードでpythonsマルチプロセッシングモジュールを使用しています。クラスを制御し、いくつかのアクションを実行するコントローラークラスがあります。
import multiprocessing
from multiprocessing import Queue, Process, Manager
class dosomething(multiprocessing.Process):
def __init__(self,managerList):
self.mlist = managerList
print self.mlist
def run(self):
self.mlist.append((4,5,6))
class doController:
def __init__(self):
mgr = Manager()
self.mlist = mgr.list()
self.mlist.append((1,2,3,4))
t = dosomething(self.mlist)
#t.daemon = True
#t.start()
def printer(self):
return self.mlist
gd = doController()
print gd.printer()
dosomethingのinit部分のpringmlistは期待どおりに[(1、2、3、4)]を出力しますが、dosomething部分のリストはIOError 11を出力して機能しません。それが正しいか間違っているかを誰かが助けてくれますか?