2013-03-06 67 views
0

現在我有一個StreamWriter和一個StreamReader,1個包含(文本)數據的文件,至少有2個線程。 1個線程是一個監聽器並讀取數據。另一個線程將東西寫入流中。C# - 將數據寫入數據流+使用另一個數據流讀取數據

我可以避免使用文件作爲內存緩衝區嗎?

我認爲有可能從兩端連接2個流。但不知道如何。我創建了寫入文件的作者。然後,我創建一個線程,創建一個讀取該文件並執行其工作的讀取器。它的工作原理,但我想避免文件thingy。


// writer 
StreamWriter writer = new StreamWriter(new FileStream("text.txt", FileMode.Create, FileAccess.Write, FileShare.Read)); 
writer.AutoFlush = true; 
// reader 
StreamReader reader = new StreamReader(new FileStream("text.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)); 
+0

它屬於codereview.stackexchange.com – MikroDel 2013-03-06 14:14:33

+0

@MikroDel什麼?我不能問關於在stackoverflow上編程的問題嗎?我的代碼沒有任何問題。我只需要正確的技術。 – Bitterblue 2013-03-06 14:19:53

+1

請看codereview.stackexchange.com請 - 它的一個地方發佈代碼沒有問題(如你評論:))分析它,併發布一些建議如何使它更好 – MikroDel 2013-03-06 14:38:51

回答

1

我發表一些我叫ProducerConsumerStream,將做到這一點。這是一個允許一個讀者和一個作者的內存流。這是一個固定大小的循環緩衝區,可以讓消費者像生產者寫的一樣快速讀取。見Building a new type of stream