请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师线程A,B启动顺序不定

为啥在中间加入一段try catch
Thread.sleep(20)这样就能保证线程B先启动?
如果不加Thread.sleep(20)是否有可能线程B先启动,线程A再启动。

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

1回答

翔仔 2019-10-15 00:02:38

同学好,在A和B间加入sleep逻辑后,主要是main线程执行的时候sleep,此时由于A已经执行到start而B没有执行到start,所以A先于B执行。。

0 回复 有任何疑惑可以回复我~
  • 所以即便不加Thread.sleep(20)也还是A先执行?
    回复 有任何疑惑可以回复我~ 2020-02-08 21:35:59
  • 不能的,在主线程调用B的start方法之前让主线程在调用A的start之后sleep,才能保证A和B的顺序
    回复 有任何疑惑可以回复我~ 2020-02-09 00:09:01
  • 慕姐9575131 回复 翔仔 #3
    老师,这里还是没有明白,A是否意味着就是主线程?为什么不加sleep则不能保证A和B的顺序,如果不加的话顺序会是什么样子的呢?
    回复 有任何疑惑可以回复我~ 2020-07-19 14:32:16
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信