关于线程池最简单让你理解

先附上学习链接(需要的时候自己也可以看)https://blog.csdn.net/he90227/article/details/52576452

 

今天简单看了线程池,就突然感觉各种带 “池” 字的都差不多一个道理,像内存池,数据库连接池。。

 

简单描述一下,一个池子,有个最佳容量和一个最大容量,开始没有线程。

有任务过来时,看看池子到没到最佳容量,到了去外面排队(队伍数量有限制),

排队可能有两种情况,队伍没满,你排队;队伍满了,看看池子到没到最大容量,没到就给你线程,到了抛出异常。

你干完活把线程还给池子。池子的线程稳定在最佳容量。

 

再简单来说,就是你去吃九宫格火锅(锅就是线程池),每个小格子是一个线程,每个鱼丸是一个任务(假设一个格子只能放一个鱼丸),服务员拿过来鱼丸,如果格子没满,你可以放到格子里,如果格子满了,鱼丸就要在盘子里等,等某个鱼丸熟了,捞出去然后放进去盘子前段的第一个鱼丸。

 

线程复用就是每个格子就在那里,你不煮鱼丸,也不会把它销毁。

控制最大并发数,就是只有9个格子,多了没地方放。

ps:四种线程池:

1.newCachedThreadPool

2.newFixedThreadPool

3.newSingleThreadPool

4.newScheduleThreadPool

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值