Provided by: manpages-ru-dev_4.23.1-1_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,  привело  бы  к  превышению
       системного ограничения»).

АТРИБУТЫ

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

СТАНДАРТЫ

       POSIX.1-2008.

ИСТОРИЯ

       glibc 2.1.  POSIX.1-2001.

ПРИМЕЧАНИЯ

       Значение уровня распараллеливания по умолчанию равно 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>,     Darima    Kogan    <silverdk99@gmail.com>,    Max    Is
       <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот перевод является свободной программной документацией; он распространяется на условиях  общедоступной
       лицензии  GNU  (GNU  General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите  об  этом
       разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.

Linux man-pages 6.8                               2 мая 2024 г.                        pthread_setconcurrency(3)