线程学习小结

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

多线程:软硬件实行的多条执行流程的技术(多线程由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()先执行该线程
相关推荐
无言(* ̄(エ) ̄)3 分钟前
进程---Linux/C语言
java·开发语言·算法
阿杰 AJie6 分钟前
Token 管理工具
java·spring
LaoZhangGong1236 分钟前
学习TCP/IP的第2步:ICMP数据包
网络·网络协议·学习·tcp/ip·以太网
Mars酱11 分钟前
1分钟了解响应式编程 | 合适的架构调整
java·后端·响应式编程
符哥200816 分钟前
Swift开发app常见第三方库
学习·swift
goodlook012322 分钟前
监控平台搭建-日志-springboot直接推送loki篇(九)
java·spring boot·后端·grafana
lfwh23 分钟前
Java 中基于 DBSCAN 算法的车辆交汇点计算实现详解
java·开发语言·算法
BullSmall37 分钟前
《庄子・逍遥游》对照版
学习
独自破碎E1 小时前
PO、VO、BO、DTO、DAO、POJO有什么区别?
java