この関数はメモリ マップト ファイルのパフォーマンスに影響しますか?
これが私が解決する必要がある問題です:
ディスク アクセスで競合する 2 つのアプリケーションがあります。「リーダー」と「アップデーター」です。システム全体が Windows Server 2008 R2 x64 上で動作
「アップデーター」は常にリニアにディスクにアクセスし、データを更新します。それらのシステムは、アップデーターが常に無限のデータを更新できるように設定されています。2TB のディスクドライブ全体を占める膨大な方程式の解を常に近似していることを考慮してください。アップデーターは、ReadFile と WriteFile を使用して、直線的にデータを処理します。
「リーダー」は、データの一部を取得するためにユーザーによって呼び出されることがあります。通常、ユーザーはドライブからいくつかの 4kb ブロックを読み取って停止します。場合によっては、最大 100MB まで連続して読み取る必要があります。例外的に数ギガバイトまで。リーダーはファイルをメモリにマップして、必要なデータを取得します。
私が達成したいのは、「リーダー」が絶対的な優先順位を持ち、必要に応じて「アップデーター」が完全に停止し、「リーダー」がユーザーが必要とするデータをできるだけ早く取得できるようにすることです。
この問題は、SetPriorityClass および SetFileBandwidthReservation 呼び出しを使用して解決できますか?
同期ログインを「リーダー」と「アップデーター」に入れ、OSに優先順位を任せるのは本当に嫌です。