У меня есть ситуация, я хотел бы, чтобы один метод записывал в какой-то поток, а другой читал из него параллельно. Я думал, что MemoryStream
может быть ответом, но, насколько я понимаю, наивная реализация просто приведет к тому, что все прочитанные данные останутся в потоке, а поток будет расти еще больше. Похоже, вам пришлось бы вручную Seek
каким-то сложным образом?
В отличие от чего-то вроде NetworkStream
, каждый раз, когда вы Read()
данные «перемешиваете», вы просто продолжаете читать, когда данные доступны.
Есть ли способ использовать MemoryStream
- или лучший класс Stream - больше похоже на то, где актеры могут читать и записывать данные, а когда вы читаете данные, память снова помечается как готовая к использованию? Кажется, это действительно очевидный вариант использования, поэтому я ожидаю, что будет столь же очевидный ответ.