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

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

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

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

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

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

相关推荐
格发许可优化管理系统4 小时前
Mentor许可证使用规定全解析
java·大数据·c语言·开发语言·c++
JAVA面经实录9174 小时前
Redis 知识体系(完整版)
java·redis·nosql数据库·nosql
武子康4 小时前
Java-21 深入浅出 MyBatis 手写ORM框架2 手写Resources、MappedStatment、XMLBuilder等
java·后端
Full Stack Developme4 小时前
Java DFA算法
java·python·算法
Yukinaaaa5 小时前
以“轮盘数组”思维彻底搞懂并实现阻塞队列
java·服务器·ide·安全·javaee·阻塞队列·轮盘数组
夕除5 小时前
AOP 实现 Redis 缓存切面解析
java·开发语言·python
库拉大叔5 小时前
工具调用效率对比实测:GPT-5.5与Gemini 3.5 Flash性能评估
java·前端·人工智能
我是唐青枫5 小时前
Java MyBatis 实战指南:XML 映射、动态 SQL 与数据访问层设计
java·mybatis
摇滚侠5 小时前
Spring 零基础入门到进阶 面向切面 AOP 52-60
java·后端·spring
就改了5 小时前
微服务接口性能优化:CompletableFuture 并行聚合实践
java·微服务·性能优化