前言

这一篇主要讲解和同事探讨每一个技术点深入提问,深入如何回答的一个篇章

一、http请求

1.1、http请求是否请求一次就会创建一个线程?

每个http请求分配到一个线程去处理。处理的线程可以是新建线程,也可以是从线程池中获取。一个线程可以处理多个请求,tomcat有同步和异步。

1.2、多次http请求是否会异步执行,还是同步?

看tomcat容器设置的是BIO(同)或者NIO(异)

1.3、http请求和多线程的区别在哪里?

  • http请求就是tomcat线程池提供的线程处理每一个请求(tomcat线程池)
  • 多线程是程序里面线程池提供的处理具体逻辑(jdk线程池)
  • tomcat中的线程池excutor主要负责请求的处理,而代码中使用的异步线程池是自己自定义的

1.4、一个http请求,多线程是如何分配?

每一个请求,容器都会分配线程去处理逻辑

1.5、同步异步区别?

二、tomcat

2.1、了解tomcat线程池配置

  • 1:最大连接数:maxThreads
  • 2、最大排队数 acceptCount

三、多线程

3.1、线程和对象之间是否存在共享或隔离问题

四、spring boot