依赖注入线程创建对象(Dependency injection in thread that cre

2019-09-16 16:44发布

如果我有一个从主应用程序启动一个线程。 在此线程生成事件。 每当产生一个事件被创建的对象。 在该对象需要扶养所以我想注入该对象。 我怎样才能通过这个扶养到创建的对象? 我需要通过depandancy向下(并让这在扶养的线程知道工程类),或者是有没有更好的方式来做到这一点? 我使用的是统一BTW。

Answer 1:

最安全的方法是让每个线程建立之初一个新的对象图。 不要传递被其他线程依赖关系。

依赖注入,尝试集中有关对象的生命周期的知识。 这种集中的地方称为成分根 。 当你开始从一个线程传递依赖于其他代码的那些部分必须知道它是否是安全的,通过这些依赖。 举例来说,那些依赖线程安全的? 这可能是微不足道的在许多情况来分析,但会阻止您更改与其他实现这些依赖关系,因为现在你必须记住,在你的代码中发生这种情况的地方,你需要知道哪些依赖被传递。 你又下放这方面的知识,使其更难原因有关DI配置的正确性,并使其更容易错误地配置容器,导致竞争条件的方法。

你可以找到关于此Wiki网页有关此主题的更多信息: 如何在多线程应用程序依赖注入工作



文章来源: Dependency injection in thread that create objects