concurrency - Rápida y mejor técnica de cola de productor/consumidor BlockingCollection versus concurrente Cola
c#-3.0 consumer (1)
Estoy usando Generic.Queue en C # 3.0 y Monitor.Enter, espere, salga de la espera antes de consumir la cola (espere a que el elemento sea en cola). Ahora estoy moviéndome a C # 4.
¿Alguien puede sugerirme cuál es más rápido y mejor especialmente para evitar bloqueos?
BlockingCollection vs concurrentQueue o cualquier otra cosa ...
Nota. No quiero restringir mi productor
Gracias por adelantado..
BlockingCollection
y ConcurrentQueue
están ahí precisamente por esta razón. Dudo que encuentres algo mejor o más simple de usar. El equipo de extensiones paralelas conoce sus cosas :)
Sin embargo, solo un vistazo rápido a las versiones: ¿definitivamente estás usando .NET 4, no solo C # 4? (Por ejemplo, podría estar usando Visual Studio 2010 y, por lo tanto, C # 4, pero aún teniendo como objetivo .NET 3.5, en cuyo caso no podría usar las extensiones paralelas).
También es posible que desee comenzar a investigar Patrón asincrónico basado en tareas , TPL Dataflow y las características async / await de C # 5 ... obviamente no puede usarlas todavía, pero no está de más saber qué se está acercando.