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

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

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

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

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

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

相关推荐
choumou_M11 分钟前
SpringBoot_5:商品秒杀场景的并发实践(初步)
java·spring boot·后端
suaizai_28 分钟前
AI Agent如何懂你:四层能力拆解
java·前端·人工智能
javachen__33 分钟前
Docker一键清理 + 全局限制,告别日志报满
java·docker·容器
早安试言43 分钟前
maven安装
java·maven
攻城有术1 小时前
专项攻克-SpringBoot启动后 Bean的实例数量问题
java·spring boot·后端
步行cgn2 小时前
PageHelper 的用法
java·后端
Sam_Deep_Thinking2 小时前
从REST到gRPC,一个API选型的思考框架
java·后端·程序员
无毁的湖光-Al2 小时前
解Bug之路-with AI-应用被限流?
java·linux
程序员贺加贝2 小时前
别把 ThreadLocal 写进 Serializer:一次 SaaS 多租户 Jackson 上下文污染排查
java·spring boot
许彰午2 小时前
06-EaEngine调度器
java·低代码·架构