最初我的生产者函数只会写数据,现在我有第二个负责写入数据的线程。生成器函数将memcpy
放入循环缓冲区并触发使用者线程开始编写。
当我使用2线程方案时,我得到了所需的线程隔离,程序稳定性以及在写入之前进行变量计算的能力 - 但io性能却差了50%。
我的理论是,我想调整每个线程可以设置某种优先级。这可能。
我在RAID0数据剥离配置中使用了2个SSD。
答案 0 :(得分:2)
“io表现差50%”是什么意思?根据您的资源监视器,它尽可能高:磁盘队列已满,磁盘活动时间为100%。如果你的意思是写速度跳跃 - 它们与任何可能的线程优先级无关。由于文件碎片,fs表修改等原因,它们是由磁头定位造成的。