![]() |
1
2
我不知道有类似的Win32(NT)API
不过,我建议采取一种办法。
具有
由于在实际读取文件时,如果预取尚未完成,则不会出现严重故障,因此最简单的实现是“触发并忘记”——执行重叠文件读取,然后从不检查读取结果。但是,请确保将数据读入有效的缓冲区!
请注意,这可能会降低您的性能。当下一个文件开始分页时,访问该文件的磁盘I/O将与当前正在解析的文件的磁盘I/O竞争。如果两个文件在同一磁盘上物理距离较远,预取的结果可能会在驱动器头查找时产生额外延迟。虽然现代驱动器有巨大的缓冲区,可以缓解这种情况,但将新文件的第一页排队可能会导致头部搜索。 bdonlan建议使用“预取”线程,从处理中异步加载文件,这对于Win32也是一个可行的解决方案。 |
![]() |
7BeholdeR7 · 文件夹的重量超过其中的文件(六倍) 2 年前 |
![]() |
ilteris · 为什么程序在fscanf后崩溃 2 年前 |
![]() |
Peaceful · 使用fscanf读取C中具有未知行数的文件 2 年前 |
![]() |
NOCi · 如何将Tensorflow的结果记录到CSV文件 2 年前 |
![]() |
Oakzeh · 如何在字符串索引之前读取文件并删除字符 2 年前 |