Как узнать, на каком ядре процессора работает поток Windows?C++

Программы на C++. Форум разработчиков
Anonymous
Как узнать, на каком ядре процессора работает поток Windows?

Сообщение Anonymous »

Я хочу сделать снимок каждого запущенного процесса и каждого потока и сопоставить их с ядрами процессора. У меня есть дескриптор темы, и сейчас я просматриваю маску сродства:

Код: Выделить всё

BOOLEAN GetThreadAffinityMask(HANDLE thread, DWORD_PTR* result)
{
DWORD_PTR mask = 1;
DWORD_PTR old = 0;

// try every CPU one by one until one works or none are left
while (mask)
{
old = SetThreadAffinityMask(thread, mask);
if (old)
{   // this one worked
SetThreadAffinityMask(thread, old); // restore original
*result = old;
return TRUE;
}
else
{
if (GetLastError() != ERROR_INVALID_PARAMETER)
return FALSE; // fatal error, might as well throw an exception
}
mask 

Подробнее здесь: [url]https://stackoverflow.com/questions/79356488/how-can-i-find-which-cpu-core-is-running-a-windows-thread[/url]

Вернуться в «C++»