Performance Regulator 类是一个用来协助从微软性能监视类中获取信息的简单类,并能调节特定线程。下面为类定义代码。Performance Regulator 类在 cmperfreg.h 中定义,并可通过
英特尔数字内容论坛获得。
GetCounterNames 会提供一个计数器列表,Performance Regulator 类能够对该计数器列表进行调节。之所以要在这里提及这个方法,是因为应用程序了解需要选择调节什么内容,以及多久调节一次。该方法能够根据不同的可用资源以及应用程序正在处理的不同内容,执行不同操作。初始的列计数器表相当小,但会随着项目的发展而越来越大:
- 处理器总闲置时间百分比(Processor total percent idle time)
- 物理磁盘总使用时间百分比(Physical disk total disk percent time)
- 虚拟内存文件使用百分比(age file percent usage)
Register Thread 方法提供了一种针对某一应用,注册特定线程并监视该线程特定计数器的方法。throttle(分流)值为一个从 0 到 9 的相对值,0 为最大分流(maximum throttling)值,9 是最小分流(minimal throttling)值。
已经被注册,以便对先前已经注册过的计数器进行实际调节或分流(throttling)的线程,会调用 Regulate 方法。通过使用 Performance Regulator 类中的后台线程监视已注册的性能计数器,对线程进行调节的工作将非常简单。如果达到了分流(throttle)值,布尔值变量就会设置为“true”,正像第一个代码片段所显示的那样。资源的调节可通过调用 Regulate 在应用程序中显示出来。Regulate 方法应由需要调节的线程来调用。