0
以下代码是否正确? (它初始化一个在其构造函数中启动一个线程的对象来改变它的状态)。在线程之间共享类属性
import threading
import time
class Test():
def __init__(self):
self.a = False
def workload():
self.a = True
self.thread = threading.Thread(target = workload)
self.thread.start()
def display(self):
print self.a
test = Test()
while True:
test.display()
time.sleep(0.1)
它输出真但我有一个更复杂的测试情况下(即不能轻易地在这里重现),其中工作量确实要复杂得多的东西(包括睡觉,从管理者队列中检索项目),并在那里程序不会输出真正的 - 虽然self.a的值在工作负载函数内发生了变化。 Python是否会在主线程和子线程之间创建共享值的临时副本,并定期“同步”,或者问题出在别处?