我已经相信他们的答案了。在下面的例子中,有人能解释为什么线程没有发现boolean
更新为True?我已经在全球范围内定义了它。。在
import threading
import time
boolean = False
class ThreadClass(threading.Thread):
def __init__(self):
global boolean
super(ThreadClass, self).__init__()
def run(self):
global boolean
for i in range(6):
print str(i)
time.sleep(1)
t = ThreadClass().start()
time.sleep(3)
boolean = True
print 'end script'
0
1
2
end script
3
4
5
将
print str(i)
更改为print str(i), boolean
,您将看到它确实发生了更改:以下是我的代码版本:
^{pr2}$你实际上有一个小错误:
start()
方法返回None
,因此t
将是{相关问题 更多 >
编程相关推荐