博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获得进程/线程已经被分配的所有cpu时间片的总和
阅读量:4934 次
发布时间:2019-06-11

本文共 1558 字,大约阅读时间需要 5 分钟。

主要就是GetProcessTimes和GetThreadTimes这两个函数,它们获得的时间都是FILETIME,下面的程序包含了获得两个FILETIME的差(ms)的办法。

如果要显示FILETIME,可以用FileTimeToSystemTime这个函数()

 

补充,这里有一个跨平台的版本:

()

1 #include "stdafx.h" 2 #include 
3 #include
4 5 int GetMSBetweenFileTime(PFILETIME ft1, PFILETIME ft2) 6 { 7 ULARGE_INTEGER ul1; 8 ULARGE_INTEGER ul2; 9 10 ul1.LowPart = ft1->dwLowDateTime;11 ul1.HighPart = ft1->dwHighDateTime;12 13 ul2.LowPart = ft2->dwLowDateTime;14 ul2.HighPart = ft2->dwHighDateTime;15 16 ULARGE_INTEGER uliRetValue;17 uliRetValue.QuadPart = ul2.QuadPart - ul1.QuadPart;18 uliRetValue.QuadPart /= 10;19 uliRetValue.QuadPart /= 1000;20 21 return int(uliRetValue.QuadPart);22 }23 24 int _tmain(int argc, _TCHAR* argv[])25 {26 FILETIME cpuTime;27 FILETIME sysTime;28 FILETIME createTime;29 FILETIME exitTime;30 31 BOOL c1 = GetProcessTimes(GetCurrentProcess(), &createTime, &exitTime, &sysTime, &cpuTime); 32 33 for(int i = 0; i < 1000; i++)34 std::cout << i << std::endl;35 36 Sleep(3000);37 FILETIME cpuTime2;38 FILETIME sysTime2;39 FILETIME createTime2;40 FILETIME exitTime2;41 42 BOOL c2 = GetProcessTimes(GetCurrentProcess(), &createTime2, &exitTime2, &sysTime2, &cpuTime2);43 44 std::cout << "sysTime:" << GetMSBetweenFileTime(&sysTime, &sysTime2) << std::endl;45 std::cout << "cpuTime:" << GetMSBetweenFileTime(&cpuTime, &cpuTime2) << std::endl;46 std::cout << "Done";47 }

 

转载于:https://www.cnblogs.com/dbbs/p/3894004.html

你可能感兴趣的文章
C# FTPHelper(搬运)
查看>>
C#HttpHelper类1.3正式版教程与升级报告
查看>>
【转】Android 语言切换过程分析
查看>>
jpa 多对多关系的实现注解形式
查看>>
Android开发——View绘制过程源码解析(一)
查看>>
Quartz和TopShelf Windows服务作业调度
查看>>
让ie9之前的版本支持canvas
查看>>
排序规则
查看>>
percent的用法
查看>>
中文词频统计
查看>>
Hibernate三种状态详解
查看>>
判断一个数是否是2^N次方
查看>>
Java Win自动环境配置脚本
查看>>
springMVC+Java验证码完善注册功能
查看>>
在虚拟机中的Linux系统搭建ftp服务器,使用nginx代理,实现外网访问ftp服务器的文件——centos6.5系统中的nginx安装及配置...
查看>>
css3媒体查询简单实例
查看>>
java-properties配置文件
查看>>
算法学习-哈希表
查看>>
python操作mysql
查看>>
javascript 学习1
查看>>