http://msdn.microsoft.com/en-us/library/windows/desktop/aa365198(v=vs.85).aspx
系統會幫你在有資料進來的時候觸發 Event
並不會用到你 main thread resource
傳統我們做 rs232 polling 需要額外的 thread 來 monitor 狀態
此時會浪費很多的 resource
改用 I/O completion ports 則可以避免這個問題
使用方法就會變得跟傳統的 file io 一樣
適用於 com port, file io, windows socket.
※ 引述《notBeing (read and be read)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: borland C++
: 最近在讀前輩寫的RS232程式。
: 發現從device讀取資料回來,是用timer在polling。雖然
: 程式裡面有幾個事件是去檢查rs232 port的狀態是否有改
: 變,進而決定是否要做讀取資料的動作。
: 但是檢查rs232 port的狀態是用timer去不斷的檢查。
: 想請教一個問題,能不能夠讓軟體被處於一個被動的狀態,
: 當port上狀態有改變時,進而使得程式進行某些動作。
: 而不是讓程式主動的去檢查port的狀態是否改變。
: 謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.231.30.168
Windows platform 請使用
I/O Completion Ports