亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C#中多線程調用Com接口如何操作?

C#中多線程調用Com接口如何操作?

墨色風雨 2018-11-15 19:15:49
C#中多線程調用Com接口如何操作
查看完整描述

1 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

1)一般的來說,要保證實時性(接收實時性以及發送的實時性),對串口操作采用多線程:一個線程負責接收;另一個線程負責發送。
2)在 .Net類庫中 System.IO.Ports.SerialPort就是采用這種方案:即無論你程序是否啟動額外線程來處理窗口接收與發送,System.IO.Ports.SerialPort類都是按照多線程方式工作!
3)在MSDN關于SerialPort 類的文檔中,請注意SerialPort類有個屬性BaseStream。這個屬性用于顯式異步 I/O 操作,即多線程方式操作串口
4)同樣,在MSDN文檔中關于SerialPort.DataReceived 事件的說明中有這么一句話:“……從 SerialPort 對象接收數據時,將在輔助線程上引發 DataReceived 事件……”,意思很明白:DataReceived事件是在主線程之外的另一個輔助線程上引發的!
====
說了這么多,結論很簡單:
串口通訊絕對適合使用多線程編程,因為System.IO.Ports.SerialPort本身就支持多線程操作;當然,你完全可以繞開System.IO.Ports.SerialPort提供的多線程機制,實現自己的單線程輸入與輸出操作。除非你有你特定的需求,這樣做顯然不是上策。

查看完整回答
反對 回復 2018-12-15
  • 1 回答
  • 0 關注
  • 1339 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號