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

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

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

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

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

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

相关推荐
降临-max几秒前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
带刺的坐椅31 分钟前
Solon AI 开发学习5 - chat - 支持哪些模型?及方言定制
java·ai·openai·solon
悟空码字42 分钟前
单点登录:一次登录,全网通行
java·后端
傻啦嘿哟1 小时前
物流爬虫实战:某丰快递信息实时追踪技术全解析
java·开发语言·数据库
倚肆1 小时前
Spring Boot Security 全面详解与实战指南
java·spring boot·后端
茄子凉心1 小时前
android 开机启动App
android·java·开发语言
8***f3951 小时前
工作中常用springboot启动后执行的方法
java·spring boot·后端
低客的黑调1 小时前
了解JVM 结构和运行机制,从小白编程Java 大佬
java·linux·开发语言
f***R81 小时前
解决bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException
java·数据库·sql
Halo_tjn1 小时前
Java 相关资料
java·开发语言·计算机