Я хочу сделать снимок каждого запущенного процесса и каждого потока и сопоставить их с ядрами процессора. У меня есть дескриптор темы, и сейчас я просматриваю маску сродства:
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]
Я хочу сделать снимок каждого запущенного процесса и каждого потока и сопоставить их с ядрами процессора. У меня есть дескриптор темы, и сейчас я просматриваю маску сродства: [code]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