Peter Teoh间接指出的真实答案是基于io_setup()和io_submit()的。具体来说,由Peter指示的“
aio_”功能是基于线程的glibc用户级仿真的一部分,这不是有效的实现。真正的答案是:
io_submit(2)io_setup(2)io_cancel(2)io_destroy(2)io_getevents(2)
请注意,日期为2012-08的手册页指出,该实现尚未成熟到可以代替glibc用户空间仿真的程度:
http://man7.org/linux/man-pages/man7/aio.7.html
该实现尚未成熟到可以使用内核系统调用完全重新实现POSIX AIO实现的地步。
因此,根据我可以找到的最新内核文档,Linux尚没有成熟的基于内核的异步I / O模型。而且,如果我假设记录的模型实际上已经成熟,那么从recv()vs
read()的角度来看,它仍然不支持部分I / O。



