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

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

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

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

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

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

相关推荐
i220818 Faiz Ul几秒前
民谣网站|基于Springboot的民谣网站管理系统(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·民谣网站
z落落1 分钟前
C# 继承基础详解(代码实战+权限规则)
java·开发语言
摇滚侠11 分钟前
JDBC 基础到高级一套通关!基础篇 00-15
java·开发语言·数据库
小L写Java14 分钟前
第三章:Java 内存模型 (JMM) 与运行时数据区
java·jvm
m0_7447249323 分钟前
Tomcat相关
java·tomcat
AugustRed33 分钟前
A2UI 完整学习指南(含 Java 后端 + 前端实战示例)
java·开发语言·前端
程序猿乐锅38 分钟前
【MySQL | 第五篇】 MySQL 性能分析:如何查询慢 SQL
java·sql·mysql
lee_curry41 分钟前
tomcat+springmvc+spring源码流通过程
java·spring·tomcat·springmvc
w1wi42 分钟前
【兼职】边学边练的AI网站
java·人工智能·ai·ai编程·ai写作
basketball61642 分钟前
C++进阶:1. 引用折叠规则
java·开发语言·c++