Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强
总时长 104:45:00 共408P
此文章包含第193p-第p202的内容
介绍
继承Thread
继承Runnable接口
继承callable
FutureTask继承的就是runnable
线程池
代表有10个线程来等待接收我们的任务
.submit方法可以存在返回值
.execute 无返回值
线程池七大参数
核心线程满了之后,任务塞进任务队列中,队列满了才是创建非核心线程
ctrl+h查看类继承关系 查看队列
LinkedBlockingDeque 指定一个最大值 (有界队列)
拒绝策略
可以丢弃最老的
可以直接丢弃这个任务
可以把他变成同步方法,在当前的线程里直接调用
这里默认是直接丢弃这个任务
面试题
这种是变成同步 发现线程池未关 直接调用.run方法
常见的四种线程池
P195
如果线程池里就定义200个线程 那cpu就只在这200个里进行切换 节省cpu时间片轮转的资源和时间浪费 线程恢复
业务
有返回值的
结果阻塞了
綫程串行化
两任务组合
多任务组合
阻塞式等待(不推荐 等待时间太长)
直接使用allOf方法(推荐)