Provided by: manpages-ru-dev_4.27.0-1_all 

НАИМЕНОВАНИЕ
pthread_setconcurrency, pthread_getconcurrency - изменяет/возвращает уровень распараллеливания
БИБЛИОТЕКА
Библиотека потоков POSIX (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> и Kirill Rekhov <krekhov.dev@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной
лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских
переводчиков.
Справочные страницы Linux 6.9.1 2 мая 2024 г. pthread_setconcurrency(3)