
- 多线程对基本类型变量的操作无效,原因是pytho的变量作用域:
class,def,lambda
a = 5 # 一个基本类型变量
def change():
a = a + 3
print(a)
>>> change() # 报错
def change():
global a # 申明一个全局变量
a = a + 3
print(a)
>>> change() #不会错
8 # 结果为8
q = []
def customor():
if len(q) <= 0:
cond.wait()
q.pop()
# 需要注意的是,当线程wait()以后,被唤醒了是继续从wait()的地方开始执行的.所以它醒来以后就会直接pop()
while len(q) <= 0:
cond.wait()
# 这样它被唤醒之后还会再次判断




近期评论