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