大佬教程收集整理的这篇文章主要介绍了winapi – Win32:计算多核/多处理器系统中的线程CPU利用率,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找到一种方法来计算这个主线程使用的cpu百分比.但是,我遇到了一些问题,如何在多cpu /多核环境中实现这一目标.问题是大多数系统调用似乎提供系统信息,而我需要特定于我的主线程正在执行的处理器的信息.
我看过WMI,但这对任务来说似乎太过分了. GetThreadTimes()能否满足我的需求?
对于计算运行时,GetThreadTimes是正确的API,是的.如果您想要进程使用的(理论)cpu的百分比,请计算
(kerneltime+usertimE) / (Now - starttimE) / numberofcpus
当然,该公式假设所有cpu具有相同的速度.如果要显示线程最近消耗的cpu部分,请每秒采样GetThreadTimes,然后计算
(usedtimeNow - usedtimeprevIoUs) / (Now - prevIoUs) / numberofcpus
如果您每秒采样一次,现在 – 之前的采样大致为1,但您应记录采样时间,无论如何 – 系统可能不会让您在采样之间准确睡眠1秒.
以上是大佬教程为你收集整理的winapi – Win32:计算多核/多处理器系统中的线程CPU利用率全部内容,希望文章能够帮你解决winapi – Win32:计算多核/多处理器系统中的线程CPU利用率所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。