Process 下 TotalProcessorTime 使用

lulianqi lulianqi 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
.net里有这样一个类Process
实例化后可以访问其属性
Process.TotalProcessorTime
得到一个timespan类型的值
这个是“获取此进程的总的处理器时间。”(msdn上是这样写的)

如果我们的计算机是双核或更多核·····
那么这个属性取出来的值 是相对于单纯的计算机时间的
还是计算机时间乘以cpu核心数(或是线程数)
或者存在更加复杂的对应关系

此处的 “多线程” 是指具有超线程能力的cpu(不是 进程 线程 这样的东西)
此处的 时间 翻倍 是指整个cpu时间 不是单个进程消耗的时间 加倍


举个例子:x进程 在10秒里Process.TotalProcessorTime取出来的值是3秒钟
我的计算机cup是i5 双核心 4线程(使用超线程技术)
那么这时x进程在这10秒平均cpu占用率是 3/10 还是3/20 或是3/40 甚至有更复杂的算法


ps此帖发过一次(http://topic.csdn.net/u/20101215/02/2b5381c3-6ac5-45ec-9e04-f5b023ac5ba4.html?07786578159406969#replyachor) 受 尽 鄙视 我也有点小感悟了~~~`~~~
有兴趣的朋友 回下贴 支持下吧!
...全文
评论 12
收藏 已收藏
分享
返回顶部
lulianqi
C# 111,129 成员 642,538 内容