【java-面试题】start和run的区别

【java-面试题】start和run的区别

在run方法内部,只是单纯的描述了该线程要执行的内容。run方法是线程的入口。

在start方法内部,会调用到系统api,从而在系统内核中创建出线程,创建线程后,再自动调用run方法。

在代码中,我们通过重写run方法创建一个线程对象,但创建一个线程对象并不意味着线程开始执行了。而调用start方法后,才真正在操作系统底层创建出一个线程,同时start方法内部还会自动调用run方法,这才意味着创建了一个线程并让它开始独立执行

所以如果我们在编写代码的时候,调用run方法,程序依然会执行run方法里面的命令,但是该命令是被当下线程执行的,这就不是并发编程了。多线程编程是为了实现并发编程,提高计算机处理问题的效率存在的。

相关推荐
IT瘾君6 分钟前
Java基础:网络编程UDP&TCP详解
java·网络·udp·tcp
码熔burning29 分钟前
【MQ篇】初识MQ!
java·微服务·mq
C_V_Better1 小时前
数据结构-链表
java·开发语言·数据结构·后端·链表
大阔1 小时前
详解Intent —— 移动应用开发(安卓)
java
想不明白的过度思考者1 小时前
Java从入门到“放弃”(精通)之旅——String类⑩
java·开发语言
敖云岚1 小时前
【LangChain4j】AI 第一弹:LangChain4j 的理解
java·人工智能·spring boot·后端·spring
xrkhy2 小时前
Collection集合,List集合,set集合,Map集合
java·数据结构·list
techdashen2 小时前
性能比拼: Go vs Java
java·开发语言·golang
24kHT2 小时前
1.1 java开发的准备工作
java·开发语言
ตาก柒Tak2 小时前
C语言五子棋项目
java·c语言·算法