t2045817161 2017-07-24 21:42 采纳率: 33.3%
浏览 5173

tomcat线程池中的线程和代码中的线程有什么关系

每个请求到tomcat服务器,他都会开一个线程,那么如果某个用户请求进来后,做了一个操作A,这个操作要很长时间才能执行完,所以代码中对其进行了处理,即new了一个线程出来,让线程去执行。现在我想问的是new 出来的这个线程和tomcat服务器的线程有没有关系,也就是说本来tomcat线程池中最多只能连接五百个请求,现在有200个人进来了,那么还剩三百个,两百个人同时执行了该操作A,是不是意味着tomcat只剩下100个线程可以用了

  • 写回答

3条回答 默认 最新

  • alphfa 2020-12-29 03:23
    关注

    tomcat中的线程池excutor主要负责请求的处理,而代码中使用的异步线程池是自己自定义的,并不是我们配置的excutor线程,两者是没有关系的

    评论
  • 用嘴写代码 2021-06-21 07:17
    关注

    tomcat的线程设计是由accept -> poller -> exec 这3个线程池进行流转的. 我们写的controller代码会执行再exec线程里.
    如果用户连接请求很多, 有可能会因为acceptQueue满了导致520响应,
    也有可能进入到exec线程池里, 但这个线程池是阻塞无界队列, 所以有可能为请求超时.

    评论
  • inrtyx 2017-07-25 01:55
    关注

    不一样,但是能不能起500个线程,跟机器性能有关。

    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部