线程的 start() 能保证顺序吗?
在 main 中创建两个线程,先 thread1.start();然后 thread2.start();能确保 thread1 的 run() 方法先执行吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在 main 中创建两个线程,先 thread1.start();然后 thread2.start();能确保 thread1 的 run() 方法先执行吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
不能,start 方法调用之后,线程只是变为就绪状态,并不是运行状态 —— 然后由 JVM 来安排线程何时运行(即执行 Thread 的 run 方法)
当然不能
不过直接执行run方法可以导致在当前的线程中串行执行run()中的代码
既然用线程并发,重点考虑的问题就不是执行先后顺序了。非要先来后到,那就用join方法吧
问问题之前能不能先自己去寻找一下答案啊。关于线程的基本概念网上资料够多了吧。