In dieser Vorlesung schauen wir uns an, warum normale Kollektionen wie
List<T> und
Dictionary<TKey, TValue> in Multithreading-Szenarien kaputtgehen (race conditions), warum ein einfacher
lock oft nicht ausreicht und wie thread-safe Kollektionen aus
System.Collections.Concurrent diese Probleme lösen. Wir betrachten die wichtigsten Strukturen:
ConcurrentQueue<T>,
ConcurrentStack<T>,
ConcurrentBag<T>,
ConcurrentDictionary<TKey, TValue>, ihre Einsatzszenarien (producer–consumer, Caching, Objektpools) und Auswahlkriterien.