5
A
回答
1
我会建议你简单地脱掉另一个线程。 io
不打算这样做,并且让自己的异步加载器可以完全控制读/写的发生时间和方式,如果性能是您的目标(如我所想象的那样,如果您需要异步磁盘I/O)。您可以选择是写/读单字节,单行还是累加块并写入。例如,如果应用程序在其他时间等待其他时间,例如网络,则可以选择写入磁盘。
+1
你能否引用一些来自标准库的** io **,不打算支持这一点? – Shepmaster
相关问题
- 1. 读取文件异步
- 2. 异步读取文件 - 异步读取所有文件并查找最大值
- 3. 如何异步读取stdin?
- 4. 读取文本文件异步
- 5. 异步逐行文件读取
- 6. 异步并行读取文件
- 7. 异步读取js中的文件
- 8. 异步写入和读取文件
- 9. Delphi中的异步读取文件XE2
- 10. 使用C#5.0异步读取文件
- 11. NodeJS:异步文件读取问题
- 12. 了解`nodejs`异步文件读取
- 13. 与RxJava异步读取文件2
- 14. 异步读取/写入多个文件
- 15. 如何在C#2.0中执行异步文件读取?
- 16. 如何在visual C++中异步读取文件?
- 17. 如何在Dart中异步读取文件?
- 18. 如何在C++中读取文件异步?
- 19. C如何使用异步读取文件
- 20. 如何在读取文件异步时保存变量?
- 21. 如何读取文件异步模块与然后收益
- 22. 异步读取大文件导致iOS中的空块读取
- 23. FileReader API:如何同步读取文件
- 24. 如何读取Process.StandardOutput属性异步?
- 25. 流星同步和异步调用读取文件
- 26. 如何获得在异步读取中读取的字节数?
- 27. 文件读取器后获取文件名异步加载文件
- 28. GJS同步读取文件
- 29. 读取文件同步
- 30. NSStreamDelegate读取异步数据
你找不到如何用mio异步读取文件的原因是因为它明确列为该项目的非目标。^_^ – Shepmaster
对于Rust而言,无法讲得太多,但从操作系统的角度来看(对绝大多数(如果不是全部的话)主流系统来说也是如此)创建线程是迄今为止最好的解决方案。异步I/O在所有主流操作系统上都执行得很差,无用或者根本不工作(不管他们做了什么声明)。 – Damon
你可以用'MADV_WILLNEED'试试'madvise'。在Rust中它会放在'libc'文件夹中(https://crates.io/crates/libc/; http://rust-lang-nursery.github.io/libc/x86_64-unknown-linux-gnu/的libc/fn.madvise.html)。 – ArtemGr