为了账号安全,请及时绑定邮箱和手机立即绑定

线程的 start() 能保证顺序吗?

线程的 start() 能保证顺序吗?

尚方宝剑之说 2019-02-19 16:30:09
在 main 中创建两个线程,先 thread1.start();然后 thread2.start();能确保 thread1 的 run() 方法先执行吗?
查看完整描述

4 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

不能,start 方法调用之后,线程只是变为就绪状态,并不是运行状态 —— 然后由 JVM 来安排线程何时运行(即执行 Thread 的 run 方法)

查看完整回答
1 反对 回复 2019-03-01
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

  • 当然不能

  • 不过直接执行run方法可以导致在当前的线程中串行执行run()中的代码

查看完整回答
反对 回复 2019-03-01
?
慕斯709654

TA贡献1840条经验 获得超5个赞

既然用线程并发,重点考虑的问题就不是执行先后顺序了。非要先来后到,那就用join方法吧

查看完整回答
反对 回复 2019-03-01
?
白板的微信

TA贡献1883条经验 获得超3个赞

问问题之前能不能先自己去寻找一下答案啊。关于线程的基本概念网上资料够多了吧。

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 981 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信