2010-07-15 5 views

Répondre

7

4,0 .NET, vous pouvez utiliser le BlockingCollection<T>, mais qui est toujours conçu pour être thread-safe pour toutes les opérations, non seulement plus.

En général, il est rare de concevoir une structure de données qui garantisse que certaines opérations soient sans danger pour la simultanéité et que d'autres ne le soient pas. Si vous craignez qu'il y ait un surcoût lors de l'accès à une collection pour la lecture, vous devriez faire un benchmarking avant de sortir de votre façon de chercher des collections spécialisées pour y faire face.

+0

+1 Beaucoup plus d'informations sur la collection de blocage, et d'autres préoccupations ont été adressées. @LBushkin - Non, je pensais qu'il n'y avait pas de type intégré qui était entièrement thread-safe, il semble que 4.0 est plus récente que la question que j'ai utilisée pour former ma question. – Maslow

+0

@Maslow: Oui, .NET 4 a introduit un certain nombre de nouveaux types de collection dans l'espace de noms System.Collection.Concurrent (http://msdn.microsoft.com/en-us/library/dd287108.aspx). – LBushkin

9
System.Collections.Concurrent.BlockingCollection<T> 

Link.

Questions connexes