【发布时间】:2020-06-03 08:28:19
【问题描述】:
我有以下Process 的子类:
from multiprocessing import Process
class MyProcess(Process):
def __init__(self, **kwargs):
self.my_attribute = "debug0"
print("my_attribute : ", self.my_attribute)
super().__init__(**kwargs)
self.my_attribute = "debug1"
print("my_attribute : ", self.my_attribute)
def run(self):
self.my_attribute = "debug2"
print("my_attribute : ", self.my_attribute)
my_process = MyProcess()
my_process.start()
my_process.join()
print("my_process.my_attribute : ", my_process.my_attribute)
我得到以下日志:
my_attribute : debug0
my_attribute : debug1
my_attribute : debug2
my_process.my_attribute : debug1
为什么my_attribute 属性在run 期间被更改时没有保持run 方法中的设置?在这种情况下,如何设置一个属性以在 run 函数执行完毕后保持其值?
【问题讨论】:
标签: python object process attributes python-multiprocessing