Model view controller 线程安全控制器和实用程序类?

Model view controller 线程安全控制器和实用程序类?,model-view-controller,spring,multithreading,thread-safety,Model View Controller,Spring,Multithreading,Thread Safety,所以我使用SpringMVC,在我的控制器中我调用了几个实用程序类。我在这些实用程序类中使用的集合是否需要同步?类似地,当每个用户在控制器中访问我的网页时,是否为他们生成了多个线程,这意味着我需要确保线程安全?一般来说,你应该是好的,但这里有一篇非常好的文章,讨论了spring web应用程序中的线程安全,每个请求都将由servlet容器(从线程池)分配的任意线程处理,因此多个请求将意味着控制器的多个并发执行。用户和线程之间没有直接的关联,只有请求和线程,但是如果您有多个用户,那么您通常会有并发

所以我使用SpringMVC,在我的控制器中我调用了几个实用程序类。我在这些实用程序类中使用的集合是否需要同步?类似地,当每个用户在控制器中访问我的网页时,是否为他们生成了多个线程,这意味着我需要确保线程安全?

一般来说,你应该是好的,但这里有一篇非常好的文章,讨论了spring web应用程序中的线程安全,

每个请求都将由servlet容器(从线程池)分配的任意线程处理,因此多个请求将意味着控制器的多个并发执行。用户和线程之间没有直接的关联,只有请求和线程,但是如果您有多个用户,那么您通常会有并发请求,因此会有多个线程

假设控制器应该是线程安全的,那么您将需要通过设计(例如,使它们或控制器请求或会话范围(如果您确保不能同时提供相同的会话)或通过使用共享资源上的锁定来确保控制器使用的实用程序类和集合是线程安全的