根据本教程,异步磁盘文件 io 可以在 linux 上使用 AIO 轻松实现,至少从编程/api 的角度来看是这样。但是在本教程之前和之后,我阅读了很多帖子和文章,这要么无法完成,要么您应该使用带有补丁的 libevent 和许多其他问题。另一件事是我应该等待信号的循环,但根据本教程,我可以使用回调机制,这显然使 AIO 更易于使用。
现在,我什至不是一个 linux 程序员,我只是想找到一种简单的方法来支持 linux 上的异步磁盘文件 io,学习它并将其添加到我个人项目所需的异步磁盘 io 库中。目前,我在 windows 上使用重叠 io,在非 windows 平台上使用 io 工作线程。由于多线程解决方案可能很棘手,我想在 linux 上用 AIO 替换它。
那么,本教程中描述的 AIO 有什么问题?是性能吗?使用 AIO 可以完成的操作是否有限制?
ps 我不在乎代码是否不能移植到其他兼容 POSIX 的平台,只要它适用于主要的 linux 发行版。我只关心常规磁盘文件 io。
谢谢。