GetThreadTimes获取其它线程cpu时间
来源:互联网 发布:mac ps2017怎么破解 编辑:程序博客网 时间:2024/06/03 13:23
http://www.cnblogs.com/eaglet/archive/2009/03/11/1408809.html鄙视下上面的垃圾博文,纯粹忽悠人
参考文章: http://blog.kalmbachnet.de/?postid=28 这是一个德国人写的博客,我看了好几遍,对他写的德式英语还是不太明白,(本人英文水平不高也是事实),所以我理解的不对的地方还望大家指正。不过结论肯定是正确的,就是通过GetThreadTimes 得到的线程占用时间是不准确的,在某种条件下甚至是很不准确的。 另外我发现调用GetThreadTimes获取其它线程的计数基本得不到,我还没有搞明白是什么原因。搞不明白不去看官方文档!!!!!!!!!!!!查看msdn 里GetThreadTimes的文档http://msdn.microsoft.com/en-us/library/windows/desktop/ms683237(v=vs.85).aspx
BOOL WINAPI GetThreadTimes( _In_ HANDLE hThread,//需要获取cpu时间的线程句柄 _Out_ LPFILETIME lpCreationTime,//创建时间 _Out_ LPFILETIME lpExitTime,//退出时间 _Out_ LPFILETIME lpKernelTime,//内核时间 _Out_ LPFILETIME lpUserTime//用户时间);
hThread其计时信息寻求的线程的句柄。该句柄必须具有的 THREAD_QUERY_INFORMATION 或 THREAD_QUERY_LIMITED_INFORMATION 访问权。有关详细信息,请参见线程安全和访问权限。Windows Server 2003 和 Windows XP: 句柄必须具有的 THREAD_QUERY_INFORMATION 的访问权限。在这篇文章
Thread Security and Access Rightshttp://msdn.microsoft.com/en-us/library/windows/desktop/ms686769(v=vs.85).aspx里看到THREAD_QUERY_INFORMATION,结合说明得出THREAD_QUERY_INFORMATION是安全描述符的一个标志,所以又查看下面这篇文章学习如果创建使用
Creating a Security Descriptor for a New Object in C++ http://msdn.microsoft.com/zh-cn/library/aa446595.aspx
FILETIME ftKernelTimeStart, ftKernelTimeEnd;FILETIME ftUserTimeStart, ftUserTimeEnd;FILETIME ftDummy;HANDLE hThread;unsigned threadID;SECURITY_ATTRIBUTES saThread; PSECURITY_DESCRIPTOR pSD = NULL; //PSECURITY_DESCRIPTOR安全描述符pSD = (PSECURITY_DESCRIPTOR)LocalAlloc(LPTR,THREAD_QUERY_INFORMATION);if (NULL == pSD){_tprintf(_T("LocalAlloc Error %u\n"), GetLastError());}saThread.nLength = sizeof(saThread);saThread.lpSecurityDescriptor = pSD;hThread = (HANDLE)_beginthreadex(&saThread, 0, FirstThread, NULL, 0, &threadID);if(pSD)LocalFree(pSD);GetThreadTimes(hThread, &ftDummy, &ftDummy,&ftKernelTimeStart, &ftUserTimeStart);成功执行如下
1 0
- GetThreadTimes获取其它线程cpu时间
- 测线程cpu时间
- 获取cpu时间
- 获取cpu时间精度
- 准确获取CPU时间
- iphone 获取其它地区的时间
- 获取线程中某个函数执行完成所获得的CPU时间量
- 获取CPU时间、系统时间、本地时间、精准计时
- dbms_utility获取CPU时间(get_cpu_time)
- 如何获取指定线程的CPU占用率
- 利用线程获取日期时间时间
- 获取CPU时间戳代码 使用CPU时间戳进行高精度计时
- 一个统计线程占用CPU时间的类
- 一个统计线程占用CPU时间的类
- 通过查看每个线程所占用的CPU时间
- cpu 时间
- CPU时间
- 通过线程实时获取当前时间
- mknod 详解
- 收藏5篇文章
- 收藏的关于开发的一些东西
- 反驳--(知乎)大龄门外汉如何进入软件开发行业?的回复
- 一段挂起进程中所有线程的代码
- GetThreadTimes获取其它线程cpu时间
- 如何输出高精度时间差
- 注意!GetThreadPriority的返回值不是系统的优先级值
- windows核心编程 第8章201页旋转锁的代码在新版Visual Studio运行问题
- FILETIME类型到LARGE_INTEGER类型的转换
- windows如何利用计划任务自动关机?
- visual c++.net 技术内幕 第6版 附带的程序如何在vs2013中编译成功
- c#学习路线应该靠谱
- postgresql 常用命令