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

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

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

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

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

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

相关推荐
hqxstudying25 分钟前
JAVA项目中邮件发送功能
java·开发语言·python·邮件
最初的↘那颗心29 分钟前
Java HashMap深度解析:原理、实现与最佳实践
java·开发语言·面试·hashmap·八股文
小兔兔吃萝卜35 分钟前
Spring 创建 Bean 的 8 种主要方式
java·后端·spring
亲爱的马哥1 小时前
重磅更新 | 填鸭表单TDuckX2.9发布!
java
Java中文社群1 小时前
26届双非上岸记!快手之战~
java·后端·面试
whitepure1 小时前
万字详解Java中的面向对象(二)——设计模式
java·设计模式
whitepure1 小时前
万字详解Java中的面向对象(一)——设计原则
java·后端
2301_793086872 小时前
SpringCloud 02 服务治理 Nacos
java·spring boot·spring cloud
回家路上绕了弯2 小时前
MySQL 详细使用指南:从入门到精通
java·mysql
小七rrrrr2 小时前
动态规划法 - 53. 最大子数组和
java·算法·动态规划