Use InternalThreadLocal in consumer side (#1825)
* SerializerFactory 获取Serializer时,锁住整个hashmap,导致整个过程被block
* 单元测试。保证一个class只有一个serializer和deserializer。单线程和多线程测试
* 增加线程数 50 模拟多个线程来获取serializer和deserializer
* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。
* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。
* 补全单元测试,测试扩展是否生效
* 错误命名
* 增加@Override注解
long 初始化赋值时,小写l改为大写L防止误读
* 修复单元测试
* remove enhanced
* remove enhanced
* Change ThreadFactory for consumer side which is to use InternalThreadLocal in RpcContext.