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

栏目:分布式缓存CacheKit 作者:admin 日期:2018-09-19 评论:0 点击: 355 次

在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类。

网站公告
欢迎加入金燕知识社群,当前加入人数:23人,最近加入时间:2018年12月04日,更多介绍请查阅:知识社群

------====== 本站公告 ======------
金丝燕网,即将迎来四周年!

知识社群