Есть ли способ получить классы из System.Collections.Concurrent в .NET 3.5? - PullRequest
2 голосов
/ 08 июня 2010

Вопрос в значительной степени говорит сам за себя.

Кто-нибудь знает какой-либо способ получить классы коллекции из пространства имен System.Collections.Concurrent в .NET 3.5?

Наверное, я спрашиваю, не сталкивался ли кто-нибудь с проблемой переноса этих классов в свои собственные библиотеки DLL, к которым можно получить доступ из .NET 3.5.

Ответы [ 3 ]

5 голосов
/ 08 июня 2010

Обновление : Библиотека реактивных расширений больше не предлагается для .NET 3.5, к сожалению. Однако, если вы можете найти более старую версию библиотеки, она определенно содержит бэкпорты параллельных классов коллекции для .NET 3.5. Я знаю, потому что Я широко использовал их в предыдущей компании.


Я только что обнаружил это случайно.

Оказывается, эти коллекции были доступны все время через Библиотеку Microsoft Reactive Extensions (Rx) , которая доступна для .NET 3.5 и которую на самом деле я уже использовал какое-то время (просто так и не понял, что они там были).

Пространство имен System.Collections.Concurrent предоставляется System.Threading.dll.

Просто разместите это здесь для потомков.

3 голосов
/ 08 апреля 2013

Я использовал параллельную библиотеку задач для .NET 3.5 .Отлично работает.

В пакет входят:

  • Задача для выполнения асинхронных операций.

  • Параллельные коллекции, такие как ConcurrentStack, ConcurentQueuead ConcurrentDictionary.

  • PLINQ для написания параллельных запросов.

  • дополнительные операции Threading, такие как Barrier, SpinLock и SpinWait.

3 голосов
/ 08 июня 2010

Нет, они в версии 4.0 System.dll. Поэтому попытка вставить это в приложение 3.5 не сработает.

...