我的 Web 应用程序使用 Spring IOC。所以我所有的spring beans默认都是单例的。如果两个请求尝试访问单个类的两个不同方法(例如 MySpringBean
是一个具有两个方法 searchRecord
和 insertRecord
的类) 同时,两个请求将同时访问同一个 spring bean。
同一个 spring bean 如何同时对两个客户端可用,或者当两个请求都尝试访问两个不同的方法但通过同一个 spring bean 时,这将是并发问题。而且由于 spring bean 是一个单例,所以不能形成新的实例。在这种情况下,这将如何工作?
最佳答案
您必须首先了解并发性何时会导致问题。如果你的 Spring bean 是无状态的(它没有任何字段,所有字段都是 final
或者它们都只分配一次),多个线程可以安全地使用同一个 bean,甚至是同一个方法.
另见:
关于spring - Spring bean如何处理并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13776728/