I/Oキューとして動作する別のスレッドを作成することもできますが、これが最善の方法かどうかはわかりません。それは最高のように見えます。ファイルを非同期で読み取る方法は?
mioというローカルファイルを読み込む方法がわかりません。
I/Oキューとして動作する別のスレッドを作成することもできますが、これが最善の方法かどうかはわかりません。それは最高のように見えます。ファイルを非同期で読み取る方法は?
mioというローカルファイルを読み込む方法がわかりません。
私は、あなた自身が別のスレッドを単に回転させることを提案します。 io
はこれを行うつもりはなく、独自の非同期ローダーを作成することで、読み取り/書き込みがどのように行われるかを完全に制御できます。パフォーマンスが目標であれば重要です(非同期ディスクが必要な場合は、 I/O)。 1バイト、1行の書き込み/読み出しを選択することも、ブロックを累積して書き込みすることもできます。アプリケーションがネットワークのような他の時間に何かを待っている場合は、たとえばディスクへの書き込みを選択できます。
標準ライブラリから** io **を示唆しているソースを引用してください、これをサポートする予定はありませんか? – Shepmaster
mioでファイルを非同期に読み取る方法が見つからないのは、そのプロジェクトの非目標として明示的にリストされているからです。^_^ – Shepmaster
オペレーティングシステムの観点からは、Rustについてはほとんど分かりません(すべてではないにしても大部分のメインストリームシステムに当てはまります)、スレッドを作成するのが最良の解決策です。非同期I/Oは、(主張が何であるかにかかわらず)すべての主流のオペレーティングシステムで、実装が不十分で、役に立たない、または全く機能しないかのいずれかです。 – Damon
'MADV_WILLNEED'で' madvise'を試すことができます。 Rustでは 'libc' crate(https://crates.io/crates/libc/; http://rust-lang-nursery.github.io/libc/x86_64-unknown-linux-gnu/)にあります。 libc/fn.madvise.html)。 – ArtemGr