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

Jam*_*pen 3 multithreading castle-windsor

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

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

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

Mau*_*fer 7

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

但是,假设您正在使用默认子系统并且您的线程不添加自定义贡献者,子解析器等(即只是普通组件注册),它应该是线程安全的,因为组件注册中涉及的类看起来像是他们要么无国籍或正确锁定.该DEFAULTKERNEL大多委托操作的各个子系统/内部服务,特别是DefaultNamingSubSystem(服务地图存储子系统)正确锁定.

我建议您询问城堡用户城堡开发谷歌团体,这是真正的城堡大师所在的地方.

  • Castle Windsor设计为线程安全,并且在多线程环境中没有已知的错误.如果你的代码设计得很好,那么_should_按预期工作. (4认同)