我在寫一個能夠處理與外部設備(即讀寫)的所有串行通信的類。數據以20Hz傳輸到計算機,偶爾也會將數據寫入設備。然後,該類將通過事件將有效數據輸出到主UI。 我想把這個類放在一個單獨的線程中,因爲我之前的代碼在設備中導致了一些'口吃',因爲它在主UI線程中。如何使用線程/後臺工作者C#實現SerialPort?
我只是不確定如何使用線程/後臺工作器來構造和實現SerialPort類,因爲我在這方面沒有經驗。
只有數據接收事件存在於線程/後臺工作者內部嗎? 如何將數據傳入和傳出創建的線程/後臺工作者?
任何提示或建議將不勝感激!
我做了一些關於msdn網站的進一步調查,並且我讀到DataReceieved事件是在單獨的線程上創建的。那麼這是否意味着事件處理程序中處理的內容已經在單獨的線程中?那麼我試圖做多餘? – steeppham 2010-08-08 07:37:28
嗯,是的,我想這是... =)只要確保你使用BackgroundWorker或類似的東西的UI,所以你不要「掛」用戶界面,這是你需要使用線程的地方。所以整個串行端口的處理都在一個線程中,在你使用的事件中。 – 2010-08-11 09:40:39