Ich möchte die neuen gleichzeitigen Sammlungen in .NET 4.0 verwenden, um das folgende Problem zu lösen.
Die grundlegende Datenstruktur, die ich haben möchte, ist eine Producer-Consumer-Warteschlange, es wird einen einzelnen Konsumenten und mehrere Produzenten geben.
Es gibt Einträge des Typs A,B,C,D,E, die zu dieser Warteschlange hinzugefügt werden. Einträge des Typs A,B,C werden der Warteschlange auf normale Weise hinzugefügt und in der Reihenfolge abgearbeitet.
Elemente des Typs D oder E können jedoch nur null oder einmal in der Warteschlange vorhanden sein. Wenn eines dieser Elemente hinzugefügt werden soll und bereits ein anderes Element desselben Typs vorhanden ist, das noch nicht verarbeitet wurde, sollte dieses andere Element in der Warteschlange an Ort und Stelle aktualisiert werden. Die Position in der Warteschlange würde sich nach der Aktualisierung nicht ändern (d. h. sie würde nicht an das Ende der Warteschlange wandern).
Welche .NET 4.0-Klassen wären dafür am besten geeignet?