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

发布于 2022-09-04 09:55:27 字数 86 浏览 11 评论 0

在 main 中创建两个线程,先 thread1.start();然后 thread2.start();能确保 thread1 的 run() 方法先执行吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

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

昔梦 2022-09-11 09:55:27
  • 当然不能

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

静谧 2022-09-11 09:55:27

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

靑春怀旧 2022-09-11 09:55:27

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文