作者ONLYSMART ()
看板C_Sharp
標題[問題] 有關多執行緒
時間Mon Apr 23 15:05:54 2012
小弟目前有一個專案,是一次開四個執行緒分別去做事
在流程中會分別去更新,同一個dataGridView自己所屬那行的訊息(也就是一共四行)
問題來了,執行一段時間後,介面會當掉
也就是介面會停止不動,但去工作管理員看,發現程式還是繼續在執行
實際上也有去改DB跟做事(都正確無誤),只是介面會呆在那裏不動(沒有更新訊息)。
因為程式碼有點繁雜,小弟也不知道該貼那段出來
想請知道的大大給個方向,讓小弟研究下!
以上感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.11.164
1F:→ rainbow001:不知道能不能加個application.doevent()? 04/23 15:21
2F:→ funnyface325:UI也算一個thread,所以你不能跨thread更新UI~ 04/23 16:11
3F:→ funnyface325:你可以考慮 Dispatcher.BeginInvoke 或 BackGroundwo 04/23 16:12
4F:→ funnyface325:backgroundworker來更新你的UI 04/23 16:13
感謝以上二位大大回答
目前是以this.Invoke來更新dataGridView訊息.
※ 編輯: ONLYSMART 來自: 114.32.11.164 (04/23 16:29)
5F:→ yeo1987:更新太快, 間隔太短了? 思考一下是不是有必要這樣做... 04/23 17:15
感謝y大
確實是更新的很快,間隔時間較短,所以這個錯誤是dataGridView來不及反應造成的嗎?
※ 編輯: ONLYSMART 來自: 114.32.11.164 (04/23 17:27)
6F:→ yeo1987:就像你所說的, 但這也不能算是錯誤啦XD 04/23 17:42
7F:→ yeo1987:我會建議你另開一個thread去做定期更新各資訊的動作 04/23 17:42
8F:→ yeo1987:更新的間隔就要看你自已測試了! 04/23 17:43