我真的被铁锈这个非常简单的问题困住了:
理想情况下,使用单核CPU,我希望能够以非阻塞方式读取同一文件的一部分:
struct PrefetchOp {
}
impl PrefetchOp {
async fn start (currentData: [u8;8]) {
let next = self.prefetch(); // this reads data from disk and puts it in memory
self.perform_slow_step(currentData);
let mut future
for x in 0..100 {
future = self.prefetch();
self.perform_slow_step(next.await);
next = future;
}
}
}
现在,我想编写一个预取信息,以异步方式读取数据,以便希望它可以在下一个缓慢的步骤中准备好,或者该行将等待它完成。
现在,预取正在读取同一文件的某些部分,而我的计划是:
poll_seek
和执行poll_read
的未来poll_seek
和poll_read
的功能。那我不会有并发问题吗?如何以最简单,最优雅的方式做到这一点?