MemoryStream имеет один поток для записи, а другой для чтения
Вот как я пишу в поток, а затем читаю из него, используя 1 поток:
System.IO.MemoryStream ms = new System.IO.MemoryStream();
// write to it
ms.Write(new byte[] { 1, 2, 3, 4, 5, 6, 7 }, 0, 7);
// go to the begining
ms.Seek(0, System.IO.SeekOrigin.Begin);
// now read from it
byte[] myBuffer = new byte[7];
ms.Read(myBuffer, 0, 7);
Теперь мне было интересно, можно ли записать поток памяти из одного потока и прочитать этот поток из отдельного потока.