Я хотел бы использовать новые параллельные коллекции в .NET 4.0 для решения следующей проблемы.
Базовая структура данных, которую я хочу иметь, это очередь потребителя-производителя, будет один потребитель и несколько производителей.
Есть элементы типа A, B, C, D, E, которые будут добавлены в эту очередь. Элементы типа A, B, C добавляются в очередь обычным образом и обрабатываются по порядку.
Однако элементы типа D или E могут существовать только в очереди ноль или один раз. Если один из них должен быть добавлен и уже существует другой того же типа, который еще не был обработан, то это должно обновить этот другой на месте в очереди. Положение очереди не изменится (то есть не перейдет в конец очереди) после обновления.
Какие классы .NET 4.0 лучше всего подойдут для этого?