我正在开发一个应用程序框架,供客户端的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