博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Executors submit()使用场景
阅读量:7045 次
发布时间:2019-06-28

本文共 1426 字,大约阅读时间需要 4 分钟。

hot3.png

引言

1.一般首页请求接口查询,加载比较多可以采用线程池submit 实现并行运行

spring 控制层代码

public ModelAndView index(HttpServletRequest request, HttpServletResponse response) throws Exception {        long begin = System.currentTimeMillis();          ExecutorService serviceTaskPool = ExecutorPools.getInstance().serviceTaskPool;         #第一个线程处理逻辑任务        Future
> a_future = serviceTaskPool.submit(new Callable
>() { @Override public HashMap
call() throws Exception { //TODO 业务逻辑 return recommandMap; } }); #第二个线程处理逻辑任务 Future
> b_future = serviceTaskPool.submit(new Callable
>() { @Override public HashMap
call() throws Exception { //TODO 业务逻辑 return map; } }); ModelAndView mv=new ModelAndView(); #调用get()方法进行休眠获取上面两个线程处理返回的结果 mv.addAllObjects(a_future.get()); mv.addAllObjects(b_future.get()); mv.setViewName("/index"); long end = System.currentTimeMillis(); logger.info("visit index,spend:{} ms",(end-begin)); return mv; }

单例线程池

public final class ExecutorPools {		private static final Logger logger = LoggerFactory.getLogger(ExecutorPools.class);		public final ExecutorService mqSubmitter=  Executors.newFixedThreadPool(40);	public final ExecutorService serviceTaskPool = Executors.newFixedThreadPool(100);	}```bin

转载于:https://my.oschina.net/guoenzhou/blog/738343

你可能感兴趣的文章
MySQL concat函数的使用
查看>>
JS 生成名片、链接等二维码
查看>>
腾讯-开源版蓝鲸智云配置平台试用
查看>>
bonding
查看>>
Eclipse AspectJ
查看>>
天融信不可取
查看>>
新商盟订烟自动获取可订烟数量及自动填充数量
查看>>
Unit20 Is this seat taken?
查看>>
linux下安装mongodb
查看>>
IPv4和IPv6共存
查看>>
分享到微信微博QQ的简单实现(二)
查看>>
linux shell
查看>>
如何实现云主机
查看>>
获取项目的请求路径
查看>>
Git不用每次都输入用户名密码设置
查看>>
KVM基础管理
查看>>
systemd下通过tmpfiles.d开机自动创建目录
查看>>
CDNPlus的节点和管理中心
查看>>
zabbix3.0.4邮件报警配置
查看>>
python常用函数以及模块(四)
查看>>