SYSTEM_INFO si;
GetSystemInfo(&si);
printf("%d\n", si.dwNumberOfProcessors);
Многоядерние процессоры и программирование
И вобще как узнать сколько CPU в системе и как запустить выполнение приложения на один из них?
Код:
задать процессор:
Код:
SetThreadIdealProcessor(GetCurrentThread(), ProcessorNumber);
также полезные функции:
SetThreadAffinityMask, SetProcessAffinityMask, GetCurrentProcessorNumber
Можно через WMI. Класс Win32_Processor.
А вобще это все стоит того что бы вручную распределять, или лутше положиться на операционную систему.
Зависит от типа поставленной задачи. Но общем случае лучше положиться на ось.