Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       pthread_setconcurrency, pthread_getconcurrency - изменяет/возвращает уровень распараллеливания

LIBRARY

       POSIX threads library (libpthread, -lpthread)

СИНТАКСИС

       #include <pthread.h>

       int pthread_setconcurrency(int new_level);
       int pthread_getconcurrency(void);

ОПИСАНИЕ

       Функция  pthread_setconcurrency()  информирует  реализацию приложения о желаемом уровне распараллеливания
       (concurrency level), задаваемом в new_level. Реализация принимает это только как рекомендацию: в  POSIX.1
       не    указан    уровень    распараллеливания,    который    должен   получиться   в   результате   вызова
       pthread_setconcurrency().

       Значение new_level равное  0  указывает  реализации  использовать  уровень  распараллеливания  по  своему
       усмотрению.

       Функция pthread_getconcurrency() возвращает текущее значение уровня распараллеливания для этого процесса.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При  успешном выполнении pthread_setconcurrency() возвращается 0; при ошибке возвращается ненулевой номер
       ошибки.

       Функция  pthread_getconcurrency()  всегда  завершается  успешно,  возвращая  уровень   распараллеливания,
       заданный  предыдущим  вызовом  pthread_setconcurrency(),  или 0, если функция pthread_setconcurrency() не
       вызывалась.

ОШИБКИ

       Функция pthread_setconcurrency() может завершиться со следующей ошибкой:

       EINVAL Значение new_level отрицательно.

       В POSIX.1 также описана ошибка  EAGAIN  («значение,  указанное  в  new_level,  привело  бы  к  превышению
       системного ограничения»).

ВЕРСИИ

       These functions are available since glibc 2.1.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ ИнтерфейсАтрибутЗначение │
       ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ pthread_setconcurrency(), pthread_getconcurrency()                  │ Безвредность в нитях │ MT-Safe  │
       └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       POSIX.1-2001, POSIX.1-2008.

ЗАМЕЧАНИЯ

       Значение уровня распараллеливания по умолчанию равно 0.

       Уровни  распараллеливания имеют смысл только в реализациях нитей M:N, где в любой момент времени поднабор
       из набора пользовательских нитей процесса может быть ограничен меньшим  количеством  единиц  планирования
       ядра. Назначение уровня распараллеливания позволяет приложению дать системе подсказку о количестве единиц
       планирования ядра для эффективного выполнения приложения.

       В   реализациях  нитей  LinuxThreads  и  NPTL  используется  отношение  1:1,  поэтому  назначение  уровня
       распараллеливания не имеет смысла. Другими словами, в  Linux  эти  функции  существуют  только  лишь  для
       совместимости с другими системами и никак не влияют на выполнение программы.

СМ. ТАКЖЕ

       pthread_attr_setscope(3), pthreads(7)

ПЕРЕВОД

       Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>,
       kogamatranslator49    <r.podarov@yandex.ru>,    Kogan,   Max   Is   <ismax799@gmail.com>,   Yuri   Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное  письмо
       на man-pages-ru-talks@lists.sourceforge.net.

Linux man-pages 6.03                           15 декабря 2022 г.                      pthread_setconcurrency(3)