Какие классы потоковобезопасных коллекций доступны в Silverlight 4? - PullRequest
9 голосов
/ 02 мая 2011

Я занимаюсь разработкой инфраструктуры приложений, которая будет использоваться Silverlight на стороне клиента и .NET 4 на стороне сервера. Внутри каркас имеет структуры данных словаря и очереди, в которых несколько потоков будут одновременно обращаться к коллекциям.

На стороне сервера я хотел бы использовать классы ConcurrentDictionary и ConcurrentQueue , доступные в пространстве имен System.Collections.Concurrent . Однако эти классы не реализованы в Silverlight 4.

Два подхода, которые я рассматриваю:

  1. Декомпилировать ConcurrentDictionary и классы ConcurrentQueue и реализовать их в Silverlight библиотека классов. Они будут ограничены областью имен System.Collections.Concurrent .
  2. Реализовать пользовательский потокобезопасный классы коллекции мне нужно в общем библиотека (или найти надежный Многопоточная коллекция Silverlight реализации), которая может использоваться как на стороне сервера, так и на стороне клиента.

Первый подход позволил бы мне просто реализовать нужные мне структуры данных Silverlight, но я беспокоюсь о несоответствии между моей реализацией Silverlight и классами одновременной коллекции, реализованными в .NET 4.

Второй подход обеспечил бы согласованную реализацию одновременной коллекции как на стороне клиента, так и на стороне сервера, но мне кажется, что я бы заново изобрел колесо.

Не похоже, что реализация классов ConcurrentDictionary и ConcurrentQueue в Silverlight была бы очень сложной, но есть ли уже хорошо принятая библиотека потоковобезопасных классов коллекции для Silverlight?

Ответы [ 2 ]

6 голосов
/ 17 июня 2011

Попробуйте: http://ch.codeplex.com/

2 голосов
/ 11 марта 2013

Библиотека классов для Mono включает в себя реализации различных параллельных коллекций и лицензируется по весьма разрешительной лицензии MIT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...