星海ss 2023-07-04 16:21 采纳率: 0%
浏览 52

线程池应用场景的疑惑?

线程池的应用场景
很多文章都介绍多线程并行去执行代码,提高rt时间。
比如美团的这个文章。Java线程池实现原理及其在美团业务中的实践 - 美团技术团队

img


我有个问题:比如说springboot web项目,tomcat默认有200线程,那这里使用线程池去并行执行
1.获取价格
2.获取库存
3.获取图片
这三个任务,线上业务线程池假如是10个线程。那么这里会提高性能吗?
极端情况下,tomcat的200个线程都在处理这个接口,但是业务线程池只有10个,那么任务不是都会在业务线程中排队吗?反而会导致rt升高。
同理 需要等待返回结果给客户端的场景 是不是 都不适合采用线程池去并行。

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-07-04 16:24
    关注

    线程主要是两类作用,一个是隐藏外部延迟(比如说多线程下载)
    一个是充分利用多个处理器并行计算(这种情况线程个数的上限一般以不超过逻辑处理器内核个数为宜)
    如果你的场景满足以上2条,就能提高性能。

    评论

报告相同问题?

问题事件

  • 修改了问题 7月4日
  • 修改了问题 7月4日
  • 修改了问题 7月4日
  • 修改了问题 7月4日
  • 展开全部