Zaznacz stronę

Zdarza mi się co jakiś czas przeprowadzić jakąś rozmowę kwalifikacyjną czy porozmawiać z kimś kto jest programistą. Nie wiem dlaczego, może przez to, że gdzieś w naszych umysłach zatarło się, że kolekcje w .NET to w szczególności List, ArrayList, ObservableCollection. Nikt nic innego nie potrafi wymienić. No może jest ich jeszcze kilka, ale to nie o to chodzi. Na moje pytanie czy używają kolekcji Thread-Safe zazwyczaj widzę u swojego rozmówcy wielkie wilcze oczy i to pytanie wewnątrz umysłu, które aż wylewa się na zewnątrz “coooo?”

W wersji 4 .NET dostaliśmy nową przestrzeń nazw System.Collections.Concurrent (http://msdn.microsoft.com/en-us/library/system.collections.concurrent(v=vs.110).aspx), która to daje nam dostęp do bardzo fajnych i poręcznych obiektów:

  • BlockingCollection<T>
  • ConcurrentBag<T>
  • ConcurrentDictionary<TKey, TValue>
  • ConcurrentQueue<T>
  • ConcurrentStack<T>
  • OrderablePartitioner<TSource>
  • Partitioner
  • Partitioner<TSource>
  • IProducerConsumerCollection<T>

W kolejnych wpisach postaram się wyjaśnić co dokładnie kryje się pod ich postacią oraz jak można je wykorzystać w naszych/waszych projektach

Share This
%d bloggers like this: