仅在I / O负载较低时运行线程

时间:2009-05-07 13:35:37

标签: performance delphi delphi-2009 backgroundworker io

我有一个执行I / O操作的后台线程(使索引保持最新)。但除了几个客户端访问服务器的硬盘,我希望尽快访问这些访问。所以我想,如果索引线程仅在I / O负载较低时运行,那就太好了。

有没有办法解决这个问题?

我也愿意接受其他建议。

2 个答案:

答案 0 :(得分:7)

使用性能计数器获取磁盘的I / O活动。一旦达到阈值的低端,允许您的线程运行。在决定您的高端用于停止阈值时,请不要忘记考虑您自己的I / O负载。

答案 1 :(得分:5)

将线程优先级设置为空闲就足够了。


修改

线程的优先级不会影响IO优先级,这是对的 请查看I/O Prioritization in Windows Vista以获取详细说明。