- 今天在写一个java代码时,发现有一段可以优化的地方,就是并发执行函数,打算用java线程池优化。同时也复习了一下知识。
- 基本概念详解参考:http://www.crazyant.net/2124.html
public Executor asyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(2); // 核心线程数,超过此数量的线程被放入缓存队列
executor.setMaxPoolSize(2); // 线程池可以允许同时执行的最大线程数
executor.setQueueCapacity(500); // 缓冲队列的大小
executor.setThreadNamePrefix("GithubLookup-");
executor.initialize();
return executor;
}
- 很好的例子: 区分submit 和 execute:
http://blog.csdn.net/peachpi/article/details/6771946 - 简单线程池的例子:http://www.cnblogs.com/weiguo21/p/4813678.html
经过自己的尝试,参数CorePoolSize、MaxPoolSize、QueueCapacity的大小会显著影响查询的时间性能。现在有一些优化,但是时间还是会在300ms~500ms。下一步尝试优化ES表达式。
具体参数设置参考:http://www.imooc.com/article/5887