我想在不同线程使用依赖注入,同时恳求安全。
让我从基础开始,我一直引用Java基础:堆栈和堆。堆栈是一种后进先出数据结构,它存储原始数据类型和引用,而堆存储将要被引用的对象。这些都是Java程序运行的基础,不管它们是用什么方法制作的,无论是Spring还是其他框架。Spring支持依赖注入,例如:@Autowired MyClass myClass;
这些注入存在于应用程序上下文中,无论您从哪个类调用它们,它们都将引用相同的对象。在一天结束时,有一个引用和一个对象。一个生活在堆栈上,另一个生活在堆上。我的问题是:在多线程的情况下,这些依赖注入是否安全?不论答案是肯定的还是否定的,请在指称和客体的上下文中加以说明。
1条答案
按热度按时间c8ib6hqw1#
您的DI框架将处理这些依赖项的构造。不用担心这个。至于这些服务的实现,如果要跨线程共享它们,则需要确保它们是线程安全的。一个简单的方法就是不使用任何可变状态。