分布式缓存系统CacheKit之线程池以及线程池的管理

114 篇文章 2 订阅
113 篇文章 1 订阅

备注:CacheKit,是一个从零开始手动打造的分布式缓存系统。

在Java里面,用到线程池的时候,一般都是采用ThreadPoolExecutor。这个仅仅是一个原料,要想做成一顿丰盛的午餐,还是略显单薄。ThreadPoolExecutor是管理线程的,但是如何管理线程池,监控线程池呢?还得需要ThreadPoolManager。ThreadPoolManager是ThreadPoolExecutor的封装,是它的更高一层。

上面提到了ThreadPoolExecutor,其配置参数部分,应该抽出来形成一个配置类,就叫:ThreadPoolConfiguration,其包括:

maximumPoolSize,最大线程数目

minimumPoolSize,最小线程数目。最大,最小值的设定,体现了线程池的可伸缩性设计。

keepAliveTime,线程空闲之后的存活时间,这个参数只针对那些超过minimumPoolSize之后创建的线程,

BlockedPolicy,发送堵塞之后的处理策略,一般分为几种情况:

ABORT,BLOCK,BLOCK,WAIT,DISCARDOLDEST,这些参数在日常开发中经常见到,在此不做解释了。

线程池里的线程一般都是通过工厂模式产生的,在Java里面有一个线程工厂接口ThreadFactory,可以实现这个接口,自定义一个线程工厂CacheKitThreadFactory,这样生成出的线程都有一个统一的名字,优先级,是否在后台运行。

总之,CacheKit的线程池管理模块分为三个大类:ThreadPoolManager类,ThreadPoolConfiguration类,CacheKitThreadFactory类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值