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

jpf*_*ius 3 delphi io performance delphi-2009 backgroundworker

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

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

我也愿意接受其他建议.

Eri*_*bal 7

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


Lie*_*ers 5

将线程优先级设置为空闲应该就足够了.


编辑

你是对的,线程的优先级不会影响IO优先级.
请参阅Windows Vista中的I/O优先级以获取详细说明.