我正在寻找有关如何在VC++中的进程中查找单线程的CPU利用率的工具。
如果有人可以给我提供一种工具,那就太好了。
如果你们提供以编程方式进行操作的方法也可能会更好。
先感谢您。
最佳答案
也许使用GetThreadTimes会有所帮助?
要详细说明该线程是否属于另一个可执行文件,可能是以下行中的内容(未经测试):
// Returns true if thread times could be queried and its results are usable,
// false otherwise. Error handling is minimal, considering throwing detailed
// exceptions instead of returning a simple boolean.
bool get_remote_thread_times(DWORD thread_id, FILETIME & kernel_time, FILETIME & user_time)
{
FILETIME creation_time = { 0 };
FILETIME exit_time = { 0 };
HANDLE thread_handle = OpenThread(THREAD_QUERY_INFORMATION, FALSE, thread_id);
if (thread_handle == INVALID_HANDLE) return false;
bool success = GetThreadTimes(thread_handle, &creation_time, &exit_time, &kernel_time, &user_time) != 0;
CloseHandle(thread_handle);
return success;
}
关于c++ - 如何查找进程中单线程的CPU使用率,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1199920/