java线程中 start方法和run方法的区别和联系是什么-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

java线程中 start方法和run方法的区别和联系是什么

2016-03-25 14:51:05 2174 2

java线程中 start方法和run方法的区别和联系是什么start是启动一个线程到就绪状态run是运行一个线程
run一个线程必须先start一个线程,这么理解对不

取消 提交回答
全部回答(2)
  • KKys
    2019-07-17 19:14:23
    start()方法告诉jvm该线程准备运行,jvm通过调用任务的run()方法执行任务。 实现Runnable接口后必须重写run()方法,而不是重写start()方法
    0 0
  • 蛮大人123
    2019-07-17 19:14:22

    1) start:
      用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程随即终止。
      2) run:
      run()方法只是类的一个普通方法而已,如果直接调用Run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码,这样就没有达到写线程的目的。总结:调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行。这两个方法应该都比较熟悉,把需要并行处理的代码放在run()方法中,start()方法启动线程将自动调用 run()方法,这是由jvm的内存机制规定的。并且run()方法必须是public访问权限,返回值类型为void.。

    0 0
添加回答
相关问答

1

回答

java中线程与进程的区别是什么?

2021-10-13 22:03:36 293浏览量 回答数 1

1

回答

Java线程和进程有啥区别?

2020-04-12 11:43:15 693浏览量 回答数 1

0

回答

请问在java中int转String的性能最优的方法是什么?

2021-11-07 00:18:07 120浏览量 回答数 0

0

回答

请问在java应用程序中查询计算数据库表平均值avg时性能非常低,该如何优化呢?

2021-11-12 17:20:55 235浏览量 回答数 0

0

回答

请问java 应用程序执行内连接关联表inner join查询时性能非常慢,该如何优化呢?

2021-11-07 13:46:23 157浏览量 回答数 0

0

回答

请问系统CPU的性能指标是否会影响到java应用系统的性能?

2021-11-07 13:46:23 141浏览量 回答数 0

0

回答

请问在java中使用 String.charAt()访问一个字符导致性能大幅度降低,应该怎么优化呢?

2021-11-07 13:45:41 112浏览量 回答数 0

0

回答

请问在java中如果初始 StringBuffer 大小是否会提高java应用程序的性能呢,原因是什

2021-11-07 13:45:41 133浏览量 回答数 0

0

回答

请问在java中局部变量与类变量在性能上有没有差别呢,使用场景是什么?具体原因是什么?

2021-11-12 17:21:00 137浏览量 回答数 0

1

回答

在java中int转String的性能最优的方法是什么?

2021-11-06 20:32:59 177浏览量 回答数 1
+关注
蛮大人123
我说我不帅他们就打我,还说我虚伪
0
文章
7733
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载