线程学习小结

线程:一个程序内部的一条执行流程

多线程:软硬件实行的多条执行流程的技术(多线程由cpu负责调度执行)

多线程的本质就是多个程序同时执行,但是进程同一时间只能有一个,所以线程会被cpu调度并且分配时间片

线程创建方式一:Thread类:启动线程需要调用strat方法不能调用run方法 不要把主线程任务放在启动子线程之前 run方法可以自己重写,在线程启动的时候会自动调用

线程创建方法二:实现Runnable接口,重写run方法。Runnable接口实现后只是创建了任务方法,要想实现线程还得交给Thread对象去调用start方法

线程创建方式三:实现callable接口和FutureTask类实现

1.创建任务对象,实现类实现callable接口,重写方法,封装需要做的事情,返回需要的数据 把callable类型的对象封装成FutureTask(线程任务对象)

2.交给Thead的start()方法调用,最后线程执行完毕后,通过FutureTask的get方法去获取线程任务的执行结果

前面俩种创建方式如果运行完后有数据需要返回,重写的run方法不能直接返回结果,第三个方式可以直接返回运行后的结果

Thread常用方法

java 复制代码
run() start()

getName()返回String类型,获取线程的名字

currentThread()静态方法,获取当前正在执行的线程对象

setName()给线程取名,也可在初始化时命名

sleep()静态方法 让当前线程休息

join()先执行该线程
相关推荐
墨黎芜16 分钟前
ArcGIS从入门到精通——地图符号、注记的初步使用
学习·arcgis·信息可视化
小李云雾20 分钟前
FastAPI重要知识点---中间件(Middleware)
学习·程序人生·中间件·fastapi·middleware
weixin_5806140020 分钟前
MySQL存储过程中如何防止SQL注入_使用参数化查询规范
jvm·数据库·python
2401_8371638921 分钟前
PHP源码开发用台式机还是笔记本更合适_硬件选型对比【方法】
jvm·数据库·python
小夏子_riotous34 分钟前
Docker学习路径——3、常用命令
linux·运维·服务器·学习·docker·容器·centos
baidu_3409988236 分钟前
mysql修改列名会导致程序报错吗_Change Column语法与兼容性
jvm·数据库·python
路飞说AI1 小时前
精准定位Direct Buffer OOM的体系化排查实践
jvm
嗑嗑嗑瓜子的猫1 小时前
Java!它值得!
java·开发语言
STLearner1 小时前
WSDM 2026 | 时间序列(Time Series)论文总结【预测,表示学习,因果】
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘
redaijufeng1 小时前
网络爬虫学习:应用selenium获取Edge浏览器版本号,自动下载对应版本msedgedriver,确保Edge浏览器顺利打开。
爬虫·学习·selenium