[問題] 緩衝機制(buffer)?

看板C_Sharp (C#)作者 (猜猜偶素隨 ? ^*^)時間15年前 (2010/12/15 23:35), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
最近在想一個關於緩衝問題... 事情是這樣的 我的程式的某一段必須處理不斷讀入的資料 假設某個文字檔好了 內容如下 ------------testfile.txt------------------------ 11111111111111111111111111 222222222222222222222222222 333333333333333333333 444444444444444444444444444444444444444 55555555555555555555555555555 ..... 13213254325345632453452345345324555554443333 ------------------EOF---------------------------- 大約有幾萬行... 因為讀入每一行之後都要運算處理 然後在視窗中更新 而這樣的過程中造成了一些問題... 所以想換個方式 每次讀入數十行 然後在視窗中更新 這樣一來應該可以大幅降低CPU處理使用者界面的負擔 但問題又來了....要用什麼方式實作? C#裡有內建類似的機制嗎 (爬文爬到stream 不曉得是不是?) 還是有類似的範例可以參考呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.105.196.238

12/15 23:48, , 1F
「BufferedStream」可以google看看這是不是你要的
12/15 23:48, 1F

12/16 03:04, , 2F
如果資料量不大(小於記憶體) 一次把讀完 再用迴圈處理
12/16 03:04, 2F

12/16 03:06, , 3F
可以大量減少檔案IO時間 畢竟IO花的時間是CPU的好幾倍
12/16 03:06, 3F

12/17 00:15, , 4F
開一個執行緒接收並處理資料,以非同步方式更新畫面.
12/17 00:15, 4F

01/04 02:31, , 5F
開thread
01/04 02:31, 5F
文章代碼(AID): #1D2E1CGZ (C_Sharp)
文章代碼(AID): #1D2E1CGZ (C_Sharp)