9.37. Java 中 start() 方法和 run() 方法的区别

发布于 2023-05-11 12:30:57 字数 490 浏览 44 评论 0

只有调用了 start() 方法,才会表现出多线程的特性,不同线程的 run() 方法里面的代码交替执行。如果只是调用 run() 方法,那么代码还是同步执行的,必须等待一个线程的 run() 方法里面的代码全部执行完毕之后,另外一个线程才可以执行其 run() 方法里面的代码。

在 Java 中,start() 方法用于启动一个新的线程,而 run() 方法是在当前线程中执行的普通方法。如果直接调用 run() 方法,那么该方法将在当前线程中执行,不会创建新的线程。

start() 方法的调用会使 JVM 启动一个新的线程,然后在新的线程中调用 run() 方法。在 start() 方法返回后,线程将开始执行,并且在 run() 方法执行完毕后自动结束。而直接调用 run() 方法则只是一个普通的方法调用,不会启动新的线程,run() 方法执行完毕后仍然在当前线程中。

因此,如果想要在新的线程中执行一段代码,应该使用 start() 方法,而如果只是想在当前线程中执行一段代码,可以直接调用 run() 方法。

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

英雄似剑

暂无简介

0 文章
0 评论
675 人气
更多

推荐作者

亽野灬性zι浪

文章 0 评论 0

少年亿悲伤

文章 0 评论 0

南七夏

文章 0 评论 0

qq_EJoXxu

文章 0 评论 0

17780639550

文章 0 评论 0

萌逼全场

文章 0 评论 0

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