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

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

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

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

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

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

相关推荐
莫陌尛.1 小时前
etcd与Nacos功能及场景对比文档
java
麻瓜code1 小时前
【JUC】并发容器:从线程不安全到阻塞队列
java
许彰午2 小时前
50-18个表单控件
java·低代码·架构
白宇横流学长2 小时前
基于springboot的个人博客系统的设计与实现【源码+文档】
java·spring boot
白远山3 小时前
本地游戏代练源码开发实战:架构设计与核心功能实现指南
java·开发语言·架构·需求分析
wno7043 小时前
Spring Security添加图形验证码
java·后端·spring
曹牧3 小时前
Postman:`Content-Type` 和 `charset`
java
逆境不可逃3 小时前
Pi Agent 学习笔记:扩展如何介入工具调用
java
用户094248568033 小时前
第12章:JDK 诊断工具箱——jps / jstat / jmap / jcmd / jhsdb
java·jvm
景熙55233 小时前
14.Java 集合框架从入门到源码万字详解(含 ArrayList/LinkedList/HashMap 源码、泛型通配符、红黑树)
java·开发语言·数据结构·算法