New threadLocal provides more performance. (#1745)

* 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

* Faster ThreadLocal impl in internal use
* Used in RpcContext`s LOCAL field.
* Faster get than the traditional ThreadLocal

* add License

* fix ci failed

* fix ci failed

* fix ci failed

* fix ci failed

* fix ci failed

* remove author info

* fix destroy method

* fix bug at method size.
11 files changed
tree: 4a6adf89ff62abba35cb0a2425a87a170dcd0f06
  1. all/
  2. bom/
  3. codestyle/
  4. dependencies-bom/
  5. dubbo-cluster/
  6. dubbo-common/
  7. dubbo-config/
  8. dubbo-container/
  9. dubbo-demo/
  10. dubbo-filter/
  11. dubbo-monitor/
  12. dubbo-plugin/
  13. dubbo-registry/
  14. dubbo-remoting/
  15. dubbo-rpc/
  16. dubbo-serialization/
  17. dubbo-test/
  18. hessian-lite/
  19. .codecov.yml
  20. .gitignore
  21. .travis.yml
  22. CODE_OF_CONDUCT.md
  23. CONTRIBUTING.md
  24. DISCLAIMER
  25. LICENSE
  26. NOTICE
  27. pom.xml
  28. PULL_REQUEST_TEMPLATE.md
  29. README.md
README.md

Apache Dubbo (incubating) Project

Build Status codecov Gitter license maven

Apache Dubbo (incubating) is a high-performance, java based RPC framework open-sourced by Alibaba. Please visit dubbo official site for quick start and documentations, as well as Wiki for news, FAQ, and release notes.

We are now collecting dubbo user info in order to help us to improve dubbo better, pls. kindly help us by providing yours on issue#1012: Wanted: who's using dubbo, thanks :)

Links