Posix AIO坏/坏?

Bob*_*Bob 5 c sockets posix aio

我正在研究一种TFTP实现,它正在从一个复杂的多线程实现过渡到单线程/单进程实现,它使用状态机来跟踪连接的会话状态.TFTP很简单,并发会话的数量足够小,除了大量的代码大小和复杂性节省之外,确实对软件没有任何影响.

当然,当其他人连接时,我不能阻止单个会话.为了解决这个问题,我的第一个想法是POSIX AIO,虽然经过一些研究我读到了它

  • 记录不佳,但不完整
  • 仅适用于磁盘I/O,不支持套接字,或适用于套接字但仅适用于读/写 - 不适用于侦听.

此链接中包含一个示例(http://davmac.org/davpage/linux/async-io.html),但我也发现了其他链接.从'08开始,先前的stackoverflow帖子(POSIX异步I/O(AIO)的状态是什么?)给出了一些额外的观点.

对于C开发人员来说,AIO仍然像人们声称的那样破碎吗?人们真的不使用AIO,主要坚持轮询/选择或有限大小的线程池吗?

Sam*_*ler 0

您可能会考虑将Boost.Asio作为跨平台异步套接字库。它有很好的例子并且有广泛的文档记录。