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

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

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

声明:
本文由金丝燕网原创编译,转载请保留链接: 2 分布式缓存系统CacheKit之线程池以及线程池的管理
本站技术交流群,致力于打造一个良好学习氛围的社区文化:技术交流QQ群,微信群

------====== 本站公告 ======------
金丝燕网,即将迎来四周年!
走过了春夏秋冬,走过了风风雨雨,虽然没有做大,但是一直还活着!

大数据收徒