Re: [問題] Timer、Thread
※ 引述《clarkman (涼雨)》之銘言:
: 我在已經吃掉許多資源的程式下,想要定期接收RS232的資料
: 3. 多線程timer
: 有查到.net有個system.threading.timer,但是程式是mfc,卻無法使用
: 很頭痛,不知道大家在處理上面有什麼更好得方法嗎?
: 有人建議過使用mutli-process,不過又怕os不斷的搬資料,反而更慢
: 謝謝
給你幾個hint,
1. 建議除了UI外, 額外用4個thread處理
2個是自己寫的timer, 2個是專門處理資料的
2. timer建議用64bits的HPET
3. 專門處理資料的thread, 最好有buffer
timer一把RS232資料抓到後, 立刻就丟給別的thread進行資料處理
而timer的程序也就進入睡眠狀態, 直到時間事件再次被觸發
4. 同步的問題 --> 緩衝區應該要加上Single Lock ,
但能鎖住的時間僅是資料存取的極短時間內, 運算應該要跟存取分開
不能在運算時也鎖住緩衝區
5. 資料處理完應該先檢查緩衝區是否還有資料, 如果有, 應該要繼續處理
如果沒有, 則進入睡眠, 直到再次被喚起
P.S. 提示已經很多了, 自己查資料, 就別寫信來問了 XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.1.131
推
03/14 02:35, , 1F
03/14 02:35, 1F
→
03/14 02:35, , 2F
03/14 02:35, 2F
→
03/14 02:37, , 3F
03/14 02:37, 3F
→
03/14 02:37, , 4F
03/14 02:37, 4F
→
03/14 02:38, , 5F
03/14 02:38, 5F
推
03/14 02:49, , 6F
03/14 02:49, 6F
→
03/14 02:49, , 7F
03/14 02:49, 7F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章