Verteidigung gegen Rennbedingungen in System.Collections.Concurrent.ConcurrentDictionary

Das .NET ConcurrentDictionary ist anfällig für eine Racebedingung, die unerwartete Daten verursachen kann, wie erläutertam Ende dieses MSDN-Artikels. Ich gehe davon aus, dass mehrere Faktoren zu berücksichtigen sind.

Q: Wie soll ich Code schreiben, der für diese Racebedingung, die zu Datenverlust führen kann, nicht anfällig ist?

In meinem Szenario habe ich einen Eingabestream mit einem immer größer werdenden Index (n ++). Mein Gedanke ist, dass ich könntefehlende Daten erkennen Wenn die Wettkampfbedingung eintritt, senden Sie sie erneut. Auf der anderen Seite könnte es einen besseren Weg geben, den ich nicht kenne.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage