[問題] dowork & progresschanged
大家好
小弟使用backgroundworker
用button_click啟動dowork
Dowork while迴圈重複接收從MCU傳送回來的資料
每接收到一串資料後
便會使用progress report
將資料傳到Progress Changed
做資料處理及chart繪圖
在dowork內有設置一段時間等待progress changed處理完成
但整個程式執行之後
一開始progress changed處理的時間很短
(我有放一個計時器在progress changed裡面)
但隨著執行次數變多
Progress changed處理的時間也越來越長
直到progress changed處理時間超過我在dowork設定的等待時間後
整個程式就當掉不跑
圖也卡住
而在診斷工具處理序記憶體欄位
程式一開始偶爾出現GC
隨著次數增加GC出現頻率越來越高
到最後超級密集 程式也跟著當掉
想請問是否我在程式的安排上
能不能等到progress changed完全執行完畢後
再回到dowork while迴圈裡面重複執行擷取資料的動作?
或者我的程序安排本身就有錯誤?
麻煩各位先進給予指教
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.12.64.244
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1505451933.A.171.html
→
09/15 15:37, , 1F
09/15 15:37, 1F
→
09/16 13:41, , 2F
09/16 13:41, 2F
→
09/16 13:41, , 3F
09/16 13:41, 3F
→
09/16 18:01, , 4F
09/16 18:01, 4F
※ 編輯: hangyoon (39.12.64.244), 09/16/2017 18:02:13
※ 編輯: hangyoon (39.12.64.244), 09/16/2017 18:10:56
→
09/16 19:39, , 5F
09/16 19:39, 5F
→
09/16 19:40, , 6F
09/16 19:40, 6F
→
09/16 19:41, , 7F
09/16 19:41, 7F
→
09/16 20:01, , 8F
09/16 20:01, 8F
→
09/16 20:01, , 9F
09/16 20:01, 9F
→
09/16 20:04, , 10F
09/16 20:04, 10F
→
09/16 20:04, , 11F
09/16 20:04, 11F
→
09/16 20:04, , 12F
09/16 20:04, 12F
→
09/17 00:57, , 13F
09/17 00:57, 13F
→
09/17 10:08, , 14F
09/17 10:08, 14F
→
09/17 10:08, , 15F
09/17 10:08, 15F
→
09/17 10:08, , 16F
09/17 10:08, 16F
→
09/17 10:08, , 17F
09/17 10:08, 17F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章