2010-07-15 3 views

Antwort

7

4,0 .NET Sie könnten die BlockingCollection<T> verwenden, aber das gestaltet ist immer noch sicher für alle Operationen fädeln werden, nicht nur hinaus.

Im Allgemeinen ist es ungewöhnlich, eine Datenstruktur zu entwerfen, die bestimmte Operationen für Nebenläufigkeit sicherstellt und andere nicht. Wenn Sie befürchten, dass beim Zugriff auf eine Sammlung ein Overhead entsteht, sollten Sie ein Benchmarking durchführen, bevor Sie sich um spezialisierte Sammlungen kümmern.

+0

+1 viel mehr Informationen über die Blockierung Sammlung und andere Anliegen wurden angesprochen. @LBushkin - Nein, ich dachte, dass es keinen eingebauten Typ gibt, der vollständig Thread-sicher ist, es scheint, dass 4.0 neuer ist als die Frage, die ich verwendet habe, um meine Frage zu formulieren. – Maslow

+0

@Maslow: Ja, .NET 4 führte im System.Collection.Concurrent-Namespace (http://msdn.microsoft.com/en-us/library/dd287108.aspx) eine Reihe neuer Auflistungstypen ein. – LBushkin

9
System.Collections.Concurrent.BlockingCollection<T> 

Link.