在Castle Windsor上注册服务/组件是否可以线程安全?

时间:2009-04-30 22:26:53

标签: multithreading castle-windsor

在城堡windsor上注册组件线程安全吗?

即,多个线程可以同时在同一容器实例上注册组件吗?

(对于记录,是的,我知道这样做可能是疯了。)

1 个答案:

答案 0 :(得分:7)

很难判断像Windsor这样复杂的软件是否是线程安全的。 Windsor有几个子系统和内部服务。每个组件注册都可以做很多事情(设置代理,不同的生活方式,自定义依赖...)。 AFAIK没有特定于线程安全的测试。

但是,假设您正在使用默认子系统并且您的线程不添加自定义贡献者,子转换器等(即只是普通组件注册),它应该是线程安全的,因为组件注册中涉及的类看起来像它们无论是无国籍还是正确锁定。 DefaultKernel主要将操作委托给各种子系统/内部服务,特别是DefaultNamingSubSystem(服务映射存储子系统)被正确锁定。

我建议您在castle-userscastle-dev Google群组中询问,这是真正的城堡大师所在的位置。