我对单线程模型和多线程模型感到困惑。 什么类型的模型SpringMVC的工作原理?
谢谢
答案 0 :(得分:7)
如果你的意思是" Spring MVC是否实现了javax.servlet.SingleThreadModel接口?"然后它没有。
SingleThreadModel保证" servlet一次只处理一个请求。" (来自API文档)。这通常由servlet容器管理,该容器将维护一个Servlet实例池并为每个传入请求分配一个。这是一种很少使用的执行模型,从Java Servlet API 2.4开始,该接口本身已被弃用,没有直接替换。
使用Spring MVC,您应该假设您的控制器一次只能处理多个请求,这使您有责任确保您的处理是线程安全的。
答案 1 :(得分:6)
SpringMVC控制器是单例,并为并发请求提供服务。它们以多线程方式使用,因此必须编写为线程安全(执行之间没有共享状态)。