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

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

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

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

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

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

相关推荐
黎雁·泠崖4 小时前
【魔法森林冒险】1/14 项目总览:用Java打造你的第一个回合制冒险游戏
java·开发语言
NuageL4 小时前
原始Json字符串转化为Java对象列表/把中文键名变成英文键名
java·spring boot·json
222you4 小时前
Redis的主从复制和哨兵机制
java·开发语言
江湖有缘4 小时前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker
chilavert3184 小时前
技术演进中的开发沉思-357:重排序(下)
java·后端
Boop_wu4 小时前
Spring生态
java·后端·spring
jzheng86104 小时前
Spring Boot(快速上手)
java·spring boot·后端
wgslucky4 小时前
SpringBoot解决Request和Response的内容多次读取的问题
java·spring boot·多次读取request数据
Sylvia-girl5 小时前
IO流~~
java·开发语言
冰暮流星5 小时前
javascript之数组
java·前端·javascript