我想以异步方式在C ++中读取一个大文件。我已经使用boost :: asio来执行来自网络套接字的异步读取,我想知道是否可以扩展boost :: asio来对常规文件进行非阻塞读取。
我可以使用一个单独的线程来完成这项工作,但是有一个更原生的解决方案,它适合asio::io_service
吗?
我正在使用Linux,但我不会拒绝使用std::ifstream
的便携式解决方案;)
答案 0 :(得分:-1)
Linux不支持非阻塞文件读取。 boost::asio
也不支持Linux上的异步读取文件。
您可以手动使用aio_read(3),但它会创建一个系统线程来完成这项工作。