|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求大神开导,明明有join 说明要等待线程结束后,才继续往下执行,为啥这个代码运行出来,首先就给我把下面的打印列表执行了呢?
如果是我写的有问题,哪应该如何更正呢?
#utf-8
import threading
import time
class CheShi():
def __init__(self):
self.abc = []
self.liebiao = [x for x in range(3)]
self.lock = threading.Lock() #Lock 第一个字母大写。
def tianjia(self,i):
with self.lock:
time.sleep(0.1)
self.abc.append(i)
print(self.abc)
# print(threading.currentThread().name)
def many_threading(self):
duoxiancheng = []
for i in self.liebiao:
duoxiancheng.append(threading.Thread(target=self.tianjia,args=(i,)))
print(duoxiancheng)
for x in duoxiancheng:
x.start()
for y in duoxiancheng: # 这里明明有join啊 ,为什么会先执行下面的print
y.join
print(f'aaaaaaaaaaaaaaaaa{ceshi1.abc}') #第一个被打印出来的是他, 我疯了。
if __name__ =="__main__":
ceshi1 = CheShi()
ceshi1.many_threading()
|
|