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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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