Функция впервые реализована в выпуске Issue 5. Включена для со
Issue 6
Функция pthread_exit () от
pthread_getconcurrency, pthread_setconcurrency
Имя
pthread_getconcurrency, pthread_setconcurrency — функции считывания и установки уровня параллелизма.
Синопсис
XSI
#include <pthread.h>
int pthread_getconcurrency (void);
int pthread_setconcurrency (int
Описание
Несвязанные потоки в процессе выполняются (или не выполняются) одновременно. По умолчанию реализация потоков гарантирует активность достаточного количества потоков для того, чтобы процесс мог успешно продолжать выполнение. И хотя такой подход сохраняет системные ресурсы, он может не обеспечить наиболее эффективный уровень параллелизма.
Функция pthread_setconcurrency () позволяет приложению с помощью пара
Функция pthread_getconcurrency () возвращает значение, установленное в результате предыдущего обращения к функции pthread_setconcurrency (). Если «предыдущего» вызова этой функции не было, функция pthread_getconcurrency () возвращает нуль, который означает, что реализация поддерживает заданный уровень параллелизма.
Обращение к функции pthread_setconcurrency () информирует реализацию о желаемом уровне параллелизма, а реализация использует его как совет, а не требование.
Если реализация не поддерживает мультиплексирование пользовательских потоков, то функции pthread_setconcurrency() и pthread_getconcurrency() используются ради совместимости исходного кода, но не дают никакого эффекта при вызове. Для поддержки семантики функций параметр new_level сохраняется при вызове функции pthread_setconcurrency (), чтобы послелующее обращение к функции pthread_getconcurrency () могло вернуть то же значение.
Возвращаемые значения
При успешном выполнении функция pthread_setconcurrency() возвращает нулевое значение; в противном случае — код ошибки, обозначающий ее характер.
Функция pthread_getconcurrency () всегда возвращает уровень параллелизма, установленный в результате предыдущего обращения к функции pthread_setconcurrency (). Если «предыдущего» вызова этой функции не было, функция pthread_getconcurrency () возвращает нуль.
Ошибки
Фу
[EINVAL ] значение, заданное пара
[EAGAIN] значение, заданное пара
Эти функции не возвращают код ошибки [EINTR].
Примеры
Отсутствуют.
Замечания по использованию
Использование этих функций изменяет состояние базового уровня параллелизма, от которого зависит работа приложения. Разработчикам библиотек рекомендуется не использовать функции pthread_getconcurrency() и pthread_setconcurrency(), поскольку это может привести к конфликту с их использованием в приложении.
Логическое обоснование
Отсутствует.
Будущие направления
Отсутствуют.
Смотри также
То
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 5.
pthread_getschedparam, pthread_setschedparam
Имя
pthread_getschedparam, pthread_setschedparam — функции динамического доступа к параметрам стратегии планирования потока (REALTIME THREADS).
Синопсис
THR TPS
#include <pthread.h>
int pthread_getschedparam (pthread_t
int pthread_setschedparam (pthread_t
Описание
Функции pthread_getschedparam() и pthread_setschedparam() используются для считывания и установки соответственно значений стратегии планирования и параметров отдельных потоков многопоточного процесса. Для значений стратегии планирования SCHED_FIFO и SCHED_RR в структуре sched_param должен быть установлен только один ее член
Функция pthread_getschedparam() пре