我在 .NET 5 中使用System.IO.Pipelines.Pipe将数据从流传输到读取器,现在我想我想要几个独立的读取器来处理相同的数据流。是否有一个 Pipe 的变体可以让我拥有几个相同的读者?
或者,如果我这样做,pipe2 是否会使用相同的段(即避免不必要的数据复制)?
Memory<byte> memory = pipe1.Writer.GetMemory(10240);
int receivedBytesCount = await stream.ReadAsync(memory, token);
pipe1.Writer.Advance(receivedBytesCount);
await pipe2.Writer.WriteAsync(memory);
pipe2.Writer.Advance(receivedBytesCount);