Estoy tratando de entender el propósito de BlockingCollection en el contexto de las nuevas pilas en paralelo en .NET 4.¿Cuál es el propósito de BlockingCollection (Of T)
La documentación MSDN dice:
BlockingCollection se utiliza como un contenedor para una instancia de IProducerConsumerCollection, lo que permite que los intentos de eliminación de la colección se bloqueen hasta que los datos estén disponibles para su eliminación. De forma similar, se puede crear un BlockingCollection para imponer un límite superior en la cantidad de elementos de datos permitidos en IProducerConsumerCollection; los intentos de adición a la colección pueden bloquearse hasta que haya espacio disponible para almacenar los elementos agregados.
Sin embargo cuando miro a la aplicación de algunas IProducerConsumerCollection, como ConcurrentQueue veo que proporcionan un cierre libre, hilo de seguridad, implementaciones. Entonces, ¿por qué es necesario el mecanismo de bloqueo que proporciona BlockingCollection? Todos los ejemplos en MSDN muestran el uso de esas colecciones a través de la envoltura BlockingCollection, ¿cuáles son los problemas de usar esas colecciones directamente? ¿Qué beneficio produce usar BlockingCollection?
No puedo encontrarlo en ninguna parte. ¿Cuál es el significado de "bloqueo", es más bien "ignorar" "esperar hasta"? – Fulproof
"bloqueo" significa "espere hasta que se complete la operación" – Thilo