我正在開發一個應用程序框架,供客戶端的Silverlight和服務器端的.NET 4使用。在內部,框架具有多個線程將同時訪問集合的字典和隊列數據結構。Silverlight 4中有哪些線程安全的集合類?
在服務器端,我想利用System.Collections.Concurrent命名空間中可用的ConcurrentDictionary和ConcurrentQueue類。這些類但不是在Silverlight 4
實現我正在考慮這兩種方法:
- 反編譯ConcurrentDictionary 和ConcurrentQueue類和 實現它們在Silverlight 類庫。這些將使用System.Collections.Concurrent名稱空間來確定作用域。
- 實現我需要在共享 庫自定義線程安全 集合類(或找到一個可靠的 Silverlight的線程安全集合 實現),可用於服務器和客戶端。
第一種方法可以讓我只實現我需要的Silverlight的數據結構,但我擔心我的Silverlight實現和.NET 4
第二個實施併發集合類之間引入差異方法將提供客戶端和服務器端一致的併發收集實現,但感覺就像我將重新發明輪子。
似乎並沒有在Silverlight中實現ConcurrentDictionary和ConcurrentQueue類會非常困難,但是Silverlight中是否已經有一個很好採用的線程安全集合類庫?
編輯標籤,因爲這仍然適用於SL5。 – 2012-02-20 09:38:24