有没有办法从.NET 3.5中的System.Collections.Concurrent获取类?

时间:2010-06-08 03:27:31

标签: .net .net-3.5 collections concurrency

这个问题几乎说明了一切。

有谁知道从.NET 3.5中的System.Collections.Concurrent命名空间获取集合类的任何方法?

我想我要问的是,是否有人经历过将这些类移植到自己的DLL上的麻烦,这些DLL可以从.NET 3.5访问。

3 个答案:

答案 0 :(得分:5)

更新:遗憾的是,似乎不再为.NET 3.5提供反应式扩展库了。但是,如果您可以找到该库的旧版本,它肯定包含.NET 3.5的并发集合类的反向移植。我知道因为我在以前的公司广泛使用过


我偶然发现了这个。

事实证明,这些集合一直可用于Microsoft's Reactive Extensions (Rx) library,可用于.NET 3.5,实际上我已经使用一段时间了(只是从未实现过)他们在那里。)

System.Collections.Concurrent命名空间由System.Threading.dll提供。

只是在这里张贴这个为后人。

答案 1 :(得分:3)

不,它们属于System.dll的4.0版本。因此,尝试将其拉入3.5应用程序是行不通的。

答案 2 :(得分:3)

我使用了Task Parallel Library for .NET 3.5。效果很好。

该套餐包括:

  • 执行异步操作的任务。

  • 并发集合,例如ConcurrentStack,ConcurentQueue ad ConcurrentDictionary。

  • 用于编写并行查询的PLINQ。

  • 其他线程操作,如Barrier,SpinLock和SpinWait。