boost asio适合这个用例吗?

时间:2014-06-09 19:07:22

标签: boost-asio

我正在解码图像文件:文件标记了标题信息与4K像素代码块混合。

平台主要是windows,但可能是osx或linux。

在读取代码块后,我可以在此块上启动(异步)解码例程, 同时继续读取文件中的标题信息和代码块。

目前,我使用fread(...)执行同步读取。

是否值得切换到提升asio以异步读取代码块? 读回调可以触发我的解码例程。但我不必等待阅读 在我继续下一个代码块之前。

如果是这样,有人能指点我参考/教程覆盖boost :: asio asynch从磁盘读取吗?

1 个答案:

答案 0 :(得分:0)

为了从磁盘读取没有特定的asio,你可以继续使用你的代码与fread,在阅读结束时发布两个新的“作业”,一个用于解码前一个读取,另一个用于读取下一个街区。 如果你想做“真正的”多线程,你需要一个两个“io.run()”线程的池。 或者你可以创建一个x线程池,同时将读取或整个文件分成x个部分。

无论如何asio功能强大且易于使用,但需要学习曲线,可能是文档缺少教程。 恕我直言that post is a very good introduction了解使用asio的方法,你应该阅读,再读一遍......