原来我的生产者函数只会写入数据,现在我有第二个线程负责写入数据。生产者函数将 memcpy
写入循环缓冲区并触发消费者线程开始写入。
当我使用 2 线程方案时,我获得了所需的线程隔离、程序稳定性和写入前可变计算的能力——但 io 性能降低了 50%。
我的理论是,可以为每个我想要调整的线程设置某种优先级。这可能吗?
我在 RAID0 数据剥离配置中使用 2 个 SSD。
最佳答案
“io 性能降低 50%”是什么意思?根据您的资源监视器,它已达到最高:磁盘队列已满,磁盘事件时间为 100%。如果您的意思是写入速度跳跃 - 它们与任何可能的线程优先级无关。它们是由文件碎片引起的磁盘磁头定位,fs表修改等引起的。
关于c++ - 在 Windows 上增加 io 优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19457439/