这个函数会影响内存映射文件的性能吗?
这是我需要解决的问题:
我有两个竞争磁盘访问的应用程序:“reader”和“updater”。整个系统在 Windows Server 2008 R2 x64 上运行
“更新程序”不断以线性方式访问磁盘,更新数据。他们的系统是这样设置的,即更新程序总是有无限的数据要更新。考虑到它不断逼近占用整个 2TB 磁盘驱动器的大量方程的解。Updater 使用 ReadFile 和 WriteFile 以线性方式处理数据。
用户偶尔会调用“阅读器”来获取一些数据。通常用户会从驱动器读取几个 4kb 块并停止。有时用户需要顺序读取多达 100mb。在特殊情况下高达数 GB。Reader 将文件映射到内存以获取所需的数据。
我想要实现的是让“读者”拥有绝对优先权,以便“更新程序”在需要时完全停止,以便“读者”能够尽快获得用户需要的数据。
使用 SetPriorityClass 和 SetFileBandwidthReservation 调用是否可以解决此问题?
我真的很讨厌将同步登录放在“阅读器”和“更新器”中,而是让操作系统处理优先级。