2011-08-31 98 views
0

它是線程安全的,如果我想通過Prism容器解析方法,以前註冊爲單例創建某種類型的實例嗎?很遺憾,我找不到任何有關此信息。棱鏡容器解決線程安全

回答

1

這取決於你所說的線程安全的意思,取決於你的答案,你正在使用什麼ServiceLocator實現。

MEF和Unity容器都是線程安全的,Resolve可以獨立於同一類型的多個線程進行調用。從理論上講,你可能有一些其他類型的ServiceLocator在這方面不是線程安全的,但是我會驚奇地發現一個,因爲它會讓Prism應用程序中的線程同步成爲真正的雜事。

什麼可能不是線程安全的是從容器返回的實際對象。例如,如果您註冊了一個Dictionary對象並要求返回,那麼ServiceLocator就沒有什麼神奇的地方可以讓Dictionary的操作線程安全。