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

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

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

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

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

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

相关推荐
我登哥MVP10 分钟前
Spring Boo从“会用”到“精通”:Spring Boot 入门
java·spring boot·后端·spring·maven·intellij-idea·mybatis
染翰15 分钟前
Java 实现 Git 自动克隆工具,打包成 Windows 独立 EXE(免安装JDK)
java·git·后端
七老板的blog22 分钟前
多阶段 AI 评测流水线架构设计与实践
java·人工智能·spring
qq_4581482028 分钟前
科大讯飞实时语音识别(rtasr)真实项目踩坑经验总结与手把手教学真实可运行Demo
java·开发语言·websocket·语音识别
创业之路&下一个五年31 分钟前
mvvm中v和vm关系,vm中v和m的关系?
java·开发语言·javascript
阿昌喜欢吃黄桃32 分钟前
Java优质开源AI项目
java·ai·langchain·开源·rag·springai·langchain4j
biubiubiu07061 小时前
SpringBoot3.5.4 AOP环绕通知使用
java·spring boot
西安邮电大学1 小时前
Redis四大经典缓存问题
java·redis·后端·其他·面试
超梦dasgg1 小时前
Redisson解锁失败,WatchDog会不会一直续期下去?
java·redis
Chase_______1 小时前
【Java基础 | 11】异常处理进阶:throw、throws、自定义异常与异常链讲清楚
java·开发语言·python