我正在從一個複雜的多線程實現過渡到使用狀態機來跟蹤連接的會話狀態的單線程/單進程實現的TFTP實現。 TFTP非常簡單,並且併發會話的數量足夠小,除了大規模的代碼大小複雜性節省之外,真正對軟件沒有影響。Posix AIO Bad/Broken?
當然,我不能只在其他人連接時阻止一個會話。爲了解決這個問題,我首先想到的是POSIX AIO,雖然一些研究後,我讀了它的
- 記錄不完整,而不是完成
- 只能對磁盤I/O和不支持插座,或適用於套接字,但僅用於讀/寫 - 不適用於收聽。
一個例子包含在這個鏈接(http://davmac.org/davpage/linux/async-io.html),但我也發現了其他人。從08年起,在之前的一個stackoverflow帖子(What is the status of POSIX asynchronous I/O (AIO)?)中給出了一些額外的觀點。
對於C開發人員來說,AIO仍然像人們聲稱的那樣壞了嗎?人們是否真的不使用AIO,並主要堅持輪詢/選擇或有限大小的線程池?
這似乎只是我早期問題的一個副本。除了「那仍然有效」之外,你還有什麼想知道的嗎? – Glyph 2012-09-20 18:44:52