GET_NPROCS(3)

ИМЯ
get_nprocs, get_nprocs_conf - возвращает количество процессоров

ОБЗОР
#include <sys/sysinfo.h>

int get_nprocs(void);
int get_nprocs_conf(void);

ОПИСАНИЕ
Функция get_nprocs_conf() возвращает количество процессоров, настроенных операционной системой. Функция get_nprocs() возвращает количество процессоров, доступных в системе. Это значение может быть меньше чем возвращаемое get_nprocs_conf(), так как процессоры могут быть выключены (например, в системах с подключением на ходу).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Как указано в ОПИСАНИИ.

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
get_nprocs(), get_nprocs_conf() | Безвредность в нитях | MT-Safe

СООТВЕТСТВИЕ СТАНДАРТАМ
Эти функции являются расширениями GNU.

ЗАМЕЧАНИЯ
Текущая реализация этих функций не оптимальна, так как при каждом вызове открываются и обрабатываются файлы в файловой системе /sys. Следующие вызовы sysconf(3) возвращают тоже что и описанные здесь функции.
    np = sysconf(_SC_NPROCESSORS_CONF);     /* настроенных процессоров */
    np = sysconf(_SC_NPROCESSORS_ONLN);     /* доступных процессоров */

ПРИМЕР
В следующем примере показано использование get_nprocs() и get_nprocs_conf().
#include <stdlib.h>
#include <stdio.h>
#include <sys/sysinfo.h>
int
main(int argc, char *argv[])
{
    printf("В системе настроено %d процессоров и "
            "%d процессоров доступно.\n",
            get_nprocs_conf(), get_nprocs());
    exit(EXIT_SUCCESS);
}