Как узнать, на каком ядре процессора работает поток 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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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