9.37. Java 中 start() 方法和 run() 方法的区别
只有调用了 start() 方法,才会表现出多线程的特性,不同线程的 run() 方法里面的代码交替执行。如果只是调用 run() 方法,那么代码还是同步执行的,必须等待一个线程的 run() 方法里面的代码全部执行完毕之后,另外一个线程才可以执行其 run() 方法里面的代码。
在 Java 中,start() 方法用于启动一个新的线程,而 run() 方法是在当前线程中执行的普通方法。如果直接调用 run() 方法,那么该方法将在当前线程中执行,不会创建新的线程。
start() 方法的调用会使 JVM 启动一个新的线程,然后在新的线程中调用 run() 方法。在 start() 方法返回后,线程将开始执行,并且在 run() 方法执行完毕后自动结束。而直接调用 run() 方法则只是一个普通的方法调用,不会启动新的线程,run() 方法执行完毕后仍然在当前线程中。
因此,如果想要在新的线程中执行一段代码,应该使用 start() 方法,而如果只是想在当前线程中执行一段代码,可以直接调用 run() 方法。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Jest 实现原理
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论