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

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

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

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

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

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

相关推荐
SL_staff4 小时前
《如何用规则引擎替代if-else?JVS-Rules可视化编排比硬编码强在哪里?》
java·低代码·架构
Sam_Deep_Thinking4 小时前
java中的class到底是个什么东西?
java·开发语言·面试
swordbob4 小时前
Spring 3 级缓存解决循环依赖
java·spring
摇滚侠4 小时前
SpringMVC 入门到实战 获取请求参数 25-32
java·spring·intellij-idea
咖啡八杯4 小时前
【无标题】
java·后端·设计模式
mqiqe4 小时前
面试题-MyBatis 面试篇
java·面试·mybatis
摇滚侠4 小时前
SpringMVC 入门到实战 @RequestMapping 14-24
java·spring
云烟成雨TD4 小时前
Spring AI Alibaba 1.x 系列【80】可观测集成
java·人工智能·spring
Filwaod4 小时前
MCP 接入模式对比:Agent - Gateway - 业务项目 vs Agent - Adapter - 业务项目
java·agent·mcp
kuonyuma5 小时前
MyBatis入门·注解操作
java·spring boot·mysql·spring·mybatis