如果在作为多处理进程运行后终止方法的执行,则类方法的中间结果似乎不能保留为类属性。例如,以下代码
import multiprocessing
import time
class Trial:
def run(self):
self.num = 1
a = Trial()
if __name__ == '__main__':
p = multiprocessing.Process(target=a.run, args=())
p.start()
time.sleep(2)
p.terminate()
p.join()
print(a.num)
不打印1,而不是:
class Trial:
def run(self):
self.num = 1
a = Trial()
a.run()
print(a.num)
如何修改第一个代码段以获得1的输出?谢谢!