So lesen Sie verschachtelte Dateien gleichzeitig mit reaktiven Erweiterungen

Ich bin neu in den reaktiven Erweiterungen und möchte sie (in c #) zum Lesen einer Datei verwenden, die mehrere Streams enthält, die verschachtelt sind. Grundsätzlich hat die Datei das FormatABCDABCDABCD.... Ich würde es vorziehen, die Datei nacheinander zu lesen und die Streams zu trennen (d. HAAA.., BBB.., etc) und verarbeiten Sie jeden Stream parallel, wobei Sie separate Threads für jeden Stream verwenden.

Es muss eine Form von Pufferung geben, um sicherzustellen, dass jeder Stream so viel wie möglich belegt bleibt (natürlich in Grenzen). Nicht alle Streams starten gleichzeitig. In diesem Fall müssen einige Elemente für die verzögerten Streams übersprungen werden. In diesem Fall könnte die Pufferung die Lücke überbrücken.

Die Elemente in der Datei sind klein (4 Bytes) und daher recht gesprächig. Deshalb suche ich auch nach einer Möglichkeit, damit effizient umzugehen.

Ich begann damit, eine Aufzählung zum Lesen der Datei zu erstellen. Dies könnte gemacht werden, um eine Struktur zu liefern, die die Stream-ID enthält, oder die Streams könnten basierend auf der Reihenfolge (Elementnummer Modulo Anzahl der Streams) getrennt werden. Letzteres ist jedoch wahrscheinlich effizienter.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage