2010-07-15 15 views

risposta

7

.NET 4.0 è possibile utilizzare il BlockingCollection<T>, ma che è comunque progettato per essere thread-safe per tutte le operazioni, non solo oltre.

In generale, non è comune progettare una struttura dati che garantisca che determinate operazioni siano sicure per la concorrenza e altre non lo siano. Se sei preoccupato che ci sia un sovraccarico quando accedi a una raccolta per la lettura, dovresti fare un po 'di benchmarking prima di andare fuori dalla tua strada per cercare collezioni specializzate per affrontarlo.

+0

+1 Molte più informazioni sulla raccolta di blocchi e altre preoccupazioni sono state affrontate. @LBushkin - No, stavo pensando che non ci fosse alcun tipo di built-in che fosse completamente thread-safe, sembra 4.0 sia più recente della domanda che ho usato per formare la mia domanda. – Maslow

+0

@Maslow: Sì, .NET 4 ha introdotto una serie di nuovi tipi di raccolta nello spazio dei nomi System.Collection.Concurrent (http://msdn.microsoft.com/en-us/library/dd287108.aspx). – LBushkin

9
System.Collections.Concurrent.BlockingCollection<T> 

Link.

Problemi correlati