0
在aio_read中,我們使用aiocb結構上的aio_error函數來檢查操作是否完成。對我來說,它看起來像輪詢一樣,然後檢查EWOULDBLOCK作爲返回值。aio_read和read/EWOULDBLOCK有什麼區別?
在aio_read中,我們使用aiocb結構上的aio_error函數來檢查操作是否完成。對我來說,它看起來像輪詢一樣,然後檢查EWOULDBLOCK作爲返回值。aio_read和read/EWOULDBLOCK有什麼區別?
我們在aiocb結構體上使用aio_error函數來檢查操作是否完成。
不,我們不這樣做。我們用它來檢查它是否完成了的錯誤。
對我來說,似乎輪詢和讀取相同,然後檢查EWOULDBLOCK作爲返回值。
否。如果操作未完成,有或沒有錯誤,它將異步繼續。 EWOULDBLOCK表示操作已完成並且未傳輸任何數據。
你當然應該不「輪詢」使用異步I/O時:你應該只允許完成處理程序運行,並有它檢查什麼結果。
'aiocb'也有'aio_sigevent'字段,可以用於回調,所以不需要'aio_error'輪詢。 – j123b567
如果您在'aio_read'之後調用'aio_error',那麼使用異步io顯然沒有意義。其實你應該提供一些示例代碼來澄清。 – VTT