spring - Spring bean如何处理并发

标签 spring thread-safety javabeans

我的 Web 应用程序使用 Spring IOC。所以我所有的spring beans默认都是单例的。如果两个请求尝试访问单个类的两个不同方法(例如 MySpringBean 是一个具有两个方法 searchRecordinsertRecord 的类) 同时,两个请求将同时访问同一个 spring bean。

同一个 spring bean 如何同时对两个客户端可用,或者当两个请求都尝试访问两个不同的方法但通过同一个 spring bean 时,这将是并发问题。而且由于 spring bean 是一个单例,所以不能形成新的实例。在这种情况下,这将如何工作?

最佳答案

您必须首先了解并发性何时会导致问题。如果你的 Spring bean 是无状态的(它没有任何字段,所有字段都是 final 或者它们都只分配一次),多个线程可以安全地使用同一个 bean,甚至是同一个方法.

另见:

关于spring - Spring bean如何处理并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13776728/

相关文章:

java - 静态方法调用另一个静态方法,对象引用作为参数 :Is It Thread Safe?

hibernate - 在 Hibernate 中找不到 bool 值的 setter/getter

Spring Security 身份验证成功但密码错误

java - 代码适用于 AS7(JBoss) 但不适用于 Tomcat 7

c# 线程安全深拷贝

java - 通过 setter 方法执行过滤?

java - 如何在 Java 类中实现 Collection 字段的 getter/setter?

java - Spring Batch FlatFileItemReader 继续错误数量的 token

spring - 找不到带有 URI [/WEB-INF/pages/apiForm.jsp] 的 HTTP 请求的映射

java - 从另一个线程暂停线程,并从另一个线程停止/启动它