Параллельное и распределенное программирование на С++ (Хьюз, Хьюз) - страница 418

равен значению PTHREAD_PROCESS_PRIVATE , Условная Переменная должна использоваться только потоками, созданными в одном процессе с потоком, который ее инициализировал; если с этой условной переменной попытаются работать потоки из различных процессов, поведение такой программы не определено. По умолчанию для этого атрибута устанавливается значение PTHREAD_PROCESS_PRIVATE.

Возвращаемые значения

При успешном завершении функция pthread_condattr_setpshared() возвращает нулевое значение; в противном случае — код ошибки, обозначающий ее характер.

При успешном завершении функция pthread_condattr_getpshared() возвращает нулевое значение и сохраняет считанное значение атрибута process-shared объекта attr в объекте, адресуемом параметром pshared; в противном случае возвращается код ошибки, обозначающий ее характер.

Ошибки

Функции pthread_condattr_getpshared () и pthread_condattr_setpshared () м огут завершиться неудачно, если:

[EINVAL]  значение, заданное пара м етром attr , недействительно.

Функция pthread_condattr_setpshared () м ожет завершиться неудачно, если:

[EINVAL]  новое значение, заданное для атрибута, не попадает в диапазон значений, действительных для этого атрибута. Эти функции не возвращают код ошибки [EINTR].

Примеры

Отсутствуют.

Замечания по использованию

Отсутствуют.

Логическое обоснование

Отсутствует.

Будущие направления

Отсутствуют.

Смотри также

pthread_create (), pthread_cond_destroy (), pthread_condattr_destroy (), pthread_mutex_destroy (), то м Base Definidons стандарта IEEE Std 1003.1-2001, .

Последовательность внесения изменений

Функции впервые реализованы в выпуске Issue 5. Включены для согласования с расширение м POSIX Threads Extension.

Issue 6

Функции pthread_condattr_getpshared () и pthread_condattr_setpshared () от м ечены как часть опций Threads и Thread Process-Shared Synchronization.

В целях согласования со стандартом ISO/IEC 9899: 1999 в прототип функции pthread_condattr_getpshared () было добавлено ключевое слово restrict.

pthread_create

Имя

pthread_create — функция создания потока.

Синопсис

THR

#include

int pthread_create (pthread_t *restrict thread, const pthread_attr_t *restrict attr, void * (*start_routine) (void*), void *restrict arg);

Описание

Функция pthread_create() используется для создания в процессе нового потока с атрибутами, заданными параметром attr . Если значение параметра attr равно NULL, используются атрибуты, действующие по умолчанию. Если атрибуты, заданные параметром attr, будут модифицироваться позже, то на атрибуты уже созданного потока это не повлияет. При успешном завершении функция pthread_create () сохраняет ID-значение созданного потока в области памяти, адресуемой параметром thread.