java tomcat 一个request 用了异步后,并发问题

java tomcat 假设支持100并发;
有个请求, 同步顺序做a b c 3件事;

1.如果把b任务,用一个异步线程池处理, 在c后边增加 bCallable.get()

  1. 这个线程池是30的 fixed线程池
  2. 请问 ,结果是 加快了并发,还是把并发限制在了30..
阅读 2.2k
1 个回答

因为你每一个请求都必须做B这件事情,然后加了固定30的fixed线程池之后就意味着一次最多只能做三十个
那么假设这三十个做的足够慢,你的请求足够多
当第31个请求到来的时候,你的前面三十个都还没有做完一个,这个时候第31个就会等在B这里
你的tomcat当然还可以继续接受请求,页面可以访问,只要页面访问不调用B这件事
这可以说是,做B这件事的请求并发限制在了30..

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题