本文共 771 字,大约阅读时间需要 2 分钟。
TProcessCpuUsage类用于监控CPU使用情况,该类由两部分组成: Create方法初始化数据,Current方法返回当前CPU使用率。以下是类的详细说明:
类TProcessCpuUsage:
- FLastUsed记录上一次使用时间
- FLastTime记录上一次监测时间
- FCpuCount记录CPU核心数量
class function Create:
- 返回新实例的TProcessCpuUsage
- 初始化FLastUsed为0
- 初始化FLastTime为0
- 初始化FCpuCount为0
function Current:
- 返回当前CPU使用率(单值)
- 获取目前系统时间ACurTime
- 调用FileTimeToI64函数将KernelTime和UserTime转换为UInt64
- 计算Usage总和
- 比较FLastTime和FLastUsed,计算CPU使用率
- 如果FLastTime>0,计算平均使用率并分配到FCpuCount
- 否则,使用GetCPUCount获取当前CPU数量
- 更新FLastUsed为当前Usage
- 更新FLastTime为当前ACurTime
function GetCPUCount:
- 调用GetSystemInfo函数获取SysInfo.dwNumberOfProcessors
- 返回CPU核心数量
方法实现:
- FileTimeToI64函数将TFileTime转换为Int64
- GetSystemInfo函数获取系统信息
- GetTickCount函数获取系统时间
注意事项:
- 使用ProcessCpuUsage的Current值进行判断:ProcessCpuUsage.Current >=25则触发相应逻辑
该类适用于个人项目或需要轻量级CPU性能监控的场景,适合在Windows系统中使用。
转载地址:http://mfegz.baihongyu.com/