如何在Python中终止多处理过程后保持中间结果

时间:2018-06-06 19:12:49

标签: python multiprocessing python-multiprocessing terminate

如果在作为多处理进程运行后终止方法的执行,则类方法的中间结果似乎不能保留为类属性。例如,以下代码

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的输出?谢谢!

0 个答案:

没有答案