ElasticSearch 源码 线程池模块 里面居然没有 提交 Callable 任务的接口?
Elasticsearch | 作者 hapjin | 发布于2019年05月20日 | 阅读数:1800
看了 ElasticSearch6.3.2 的ThreadPool模块的源代码,惊讶的是里面居然没有提供任何提交Callable任务的接口,需要任务的执行结果都是通过回调方式(提供一个ActionListener对象),为什么要这样设计呢?
更正下:
EsThreadPoolExecutor里面没有,PrioritizedEsThreadPoolExecutor 和 QueueResizingEsThreadPoolExecutor 是有的,但用到的不多。
源码里面充满了异步回调,是为了避免 JDK Future#get() 获取结果时可能会阻塞吗?
更正下:
EsThreadPoolExecutor里面没有,PrioritizedEsThreadPoolExecutor 和 QueueResizingEsThreadPoolExecutor 是有的,但用到的不多。
源码里面充满了异步回调,是为了避免 JDK Future#get() 获取结果时可能会阻塞吗?
0 个回复