2009-04-30 61 views
2

登記城堡windsor線程安全的組件?在Castle Windsor上註冊服務/組件是否線程安全?

即,多個線程可以同時在同一個容器實例上註冊組件?

(根據記錄,是的,我知道,這樣做可能是瘋了。)

+0

我知道你已經在這裏擊敗了我,但你在做什麼可能是瘋了。你想解決在另一個線程中註冊的服務嗎? – 2009-05-12 15:54:57

回答

7

這是相當很難說像溫莎軟件複雜的一塊是否是線程安全與否。溫莎有幾個子系統和內部服務。每個組件註冊可以做很多東西(設置代理,不同的生活方式,自定義依賴關係...)。 AFAIK沒有針對特定線程的測試。

但是,假設您使用的是默認子系統,並且您的線程不添加自定義貢獻者,子解析器等(即只是簡單的組件註冊),它應該是線程安全的,因爲組件註冊中涉及的類看起來像他們要麼是無國籍的,要麼被正確鎖定。 DefaultKernel大多將操作委託給各種子系統/內部服務,特別是DefaultNamingSubSystem(服務映射存儲子系統)被正確鎖定。

我建議您詢問castle-userscastle-dev谷歌組,這就是真正的城堡大師的地方。

+1

感謝您花時間研究這個問題,因爲看起來您確實在做研究,我很欣賞。 我知道這很難說,但我只想知道是否有一些「Omg甚至不考慮它」的常識。 Mucho gracias! – 2009-05-01 19:32:01

相關問題