【博学谷学习记录】超强总结,用心分享|架构师-前置知识-java线程池的使用

一、线程基础只是

1.1 线程的实现方式有几种?

两种:
1、继承Thread类
2、实现Runnable接口

1.2 thread.run和thread.start有区别吗?

run是同一个线程中,属于方法调用
start是启动一个新的线程

1.3线程的生命周期在这里插入图片描述

线程缺点:执行完毕后无法复用、线程过多,导致jvm宕机
引出线程池

二、线程池

2.1 J.U.C工具类

java.util.concurrent并发编辑中常用的工具类
在这里插入图片描述

2.2 线程池解决了什么问题?

降低系统资源消耗、提供系统响应速度、方便线程并发数的管控、节省CPU切换线程的时间承保、提供更强大的功能

2.3 线程池的问题

1、提交异步任务后,如果jvm宕机,已提交的任务会丢失
2、如果使用不合理,会导致内存溢出

三、线程池原理

3.1 线程池类继承结构图在这里插入图片描述

最常用的是ThreadPoolExecutor
Executors是协助创建线程池的工具类

3.2 线程池的工作状态

在这里插入图片描述
shutdown()等线上任务执行完毕后,再关闭
shutdownNow()立刻关闭,线上任务全部丢失

3.3 线程池参数

7个参数:
在这里插入图片描述
最大核心线程数有什么用?
当核心线程数满了且任务队列也满了之后,还有新任务加入则开启最大线程数的线程
如果配置了无限队列,非核心线程池就没用了

3.4 线程池工具类Executors

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值