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

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

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

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

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

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

相关推荐
迈巴赫车主5 分钟前
蓝桥杯21241灯塔java
java·开发语言·数据结构·算法·职场和发展·蓝桥杯·动态规划
兰令水19 分钟前
【agent第3篇】agent上下文+面经
java·大数据·数据库
木井巳21 分钟前
【DFS解决floodfill算法】岛屿数量
java·算法·leetcode·深度优先
弹简特22 分钟前
【Java项目-轻聊】08-用户管理模块-实现获取用户信息+头像上传+显示头像
java·开发语言·springboot
贺国亚30 分钟前
Buy领域智能体-Spring-AI全量工程
java·人工智能·spring
不想吃饭e31 分钟前
uniapp-图片,视频上传组件封装
java·uni-app·音视频
迷藏49437 分钟前
双阶段动态权重匹配系统:高效精准的工业级解决方案
java·junit
开源推荐官44 分钟前
2026 三大国产优质开源商城深度测评:VortMall、Tigshop、Jinor 选型全解析
java·开源
We Just Keep growing1 小时前
【MySQL运维篇】——日志、主从复制、分库分表、读写分离
java·运维·数据库·windows·学习·mysql
change_fate1 小时前
ERR_PNPM_WORKSPACE_PKG_NOT_FOUND In ...
java·服务器·前端