视频最后是draw.join() 再save.join()

视频最后是draw.join() 再save.join()

那显示不应该是“取款后900“ 存款后 1100吗?为什么先输出的还是 存款后呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕酷酷 2019-11-02 15:22:36

同学你好,join()方法的作用等待调用该方法的线程结束后才能执行。如果draw线程调用join()方法,那么只有当draw线程执行完毕,其他的线程才能执行。如果不加join(),那么两个线程可能交替执行。

使用join方法时,这里与调换join()方法调用的顺序无关,这里主要取决于是谁先启动的的顺序。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • save.start执行到sleep,在sleep1秒时,draw.start执行,执行到sleep1秒时,这是开始执行join语句,join谁先启动谁执行,也就是说跟join声明顺序没关系,哪怕把他放在23行打印输出bank语句后面?
    2020-01-21 15:58:16
  • 同学你好,同学理解是正确的。如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2020-01-21 16:16:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师