Параметры условной переменной
Параметры условной переменной
Инициализация параметров
int pthread_condattr_init(pthread_condattr_t* attr);
Функция инициализирует структуру атрибутов условной переменной, на которую указывает параметр attr. Структура данных pthread_condattr_t определена в файле <pthread.h> и является производной от типа syncattr_t, описанного в разделе «Параметры мьютекса». При инициализации атрибуты устанавливаются в значения по умолчанию.
Возвращаемые значения:
EOK — успешное завершение;
ENOMEM — недостаточно памяти для инициализации атрибутов условной переменной attr.
Для условной переменной возможна модификация значительно меньшего числа параметров, чем для мьютекса. Следующие функции описывают доступ к этим параметрам.
Параметр доступа
int pthread_condattr_setpshared(
pthread_condattr_t* attr, int pshared);
int pthread_condattr_getpshared(
const pthread_condattr_t* attr, int* pshared);
Функции устанавливают/считывают, возможен ли доступ к условной переменной из потоков, порожденных в других процессах. Параметр pshared может принимать следующие значения:
• PTHREAD_PROCESS_SHARED — любой поток, имеющий доступ к области памяти, в которой расположена условная переменная, может ее использовать.
• PTHREAD_PROCESS_PRIVATE (значение по умолчанию) — только поток, созданный в контексте того же процесса, в котором находится условная переменная, может ее использовать. Если поток из другого процесса попытается использовать условную переменную, созданную с параметром PTHREAD_PROCESS_PRIVATE, результат будет не определен.
Возвращаемые значения:
EOK — успешное завершение;
EINVAL — атрибуты условной переменной, на которые указывает attr, или новое значение, на которое ссылается pshared, не определены.
Параметры тайм-аута
int pthread_condattr_setclock(
pthread_condattr_t* attr, clockid_t id);
int pthread_condattr_getclock(
const pthread_condattr_t* attr, clockid_t* id);
Функции устанавливают/считывают, каким способом (т.e. на основании какого счетчика) вычисляется значение тайм-аута при вызовах pthread_cond_timedwait(). Этот параметр в QNX Neutrino 6.2 не является обязательным и введен в соответствии со стандартом POSIX 1003.1j (draft). На практике можно устанавливать только значение REALTIME_CLOCK в качестве параметра id; это же значение является значением по умолчанию.
Возвращаемые значения:
EOK — успешное завершение;
EINVAL — неверный аргумент attr.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Переполнение переменной jiffies
Переполнение переменной jiffies Переменная jiffies, так же как и любое целое число языка программирования С, после достижения максимально возможного значения переполняется. Для 32-разрядного беззнакового целого числа максимальное значение равно 2??- 1. Поэтому перед тем как
Операции над условной переменной
Операции над условной переменной Параметры условной переменной Инициализация параметровint pthread_condattr_init(pthread_condattr_t* attr);Функция инициализирует структуру атрибутов условной переменной, на которую указывает параметр attr. Структура данных pthread_condattr_t определена в файле
Инициализация условной переменной
Инициализация условной переменной pthread_cond_t cond = PTHREAD_COND_INITIALIZER;int pthread_cond_init(pthread_cond_t* cond, pthread_condattr_t* attr);Инициализирует условную переменную cond со значениями, установленными атрибутами attr. Вместо прямого вызова функции pthread_cond_init() для начальной инициализации статических
Разрушение условной переменной
Разрушение условной переменной int pthread_cond_destroy(pthread_cond_t* cond);Вызов функции деинициализирует условную переменную cond. Для дальнейшего использования условной переменной, на которую ссылается cond, ее необходимо инициализировать вызовом pthread_cond_init(). Функция может
var - Объявление локальной переменной
var - Объявление локальной переменной varИспользуется для объявления локальных переменныхСинтаксис:var variableName1 [= value1] [...,variableNameN [=valueN]];Аргументы:Описание:Создание переменной называется ее объявлением. Объявление - это этап формального создания переменной. Когда впервые
27.5. Параметры транзитных узлов и параметры получателя IPv6
27.5. Параметры транзитных узлов и параметры получателя IPv6 Параметры для транзитных узлов и параметры получателя IPv6 имеют одинаковый формат, показанный на рис. 27.3. Восьмиразрядное поле следующий заголовок (next header) идентифицирует следующий заголовок, который следует за
Объявление простой переменной
Объявление простой переменной Синтаксис:<спецификация типа> <идентификатор> [,<идентификатор>…];Объявление простой переменной определяет имя переменной и ее тип. Имя переменной задается <идентификатором>. <Спецификация типа> задает тип переменной. Тип
3.2.2. Имя переменной
3.2.2. Имя переменной Имя переменной, или идентификатор, может состоять из латинских букв, цифр и символа подчеркивания. Прописные и строчные буквы в именах различаются. Язык С++ не ограничивает длину идентификатора, однако пользоваться слишком длинными именами типа
7.3.2. Параметры-ссылки и параметры-указатели
7.3.2. Параметры-ссылки и параметры-указатели Когда же лучше использовать параметры-ссылки, а когда – параметры-указатели? В конце концов, и те и другие позволяют функции модифицировать объекты, эффективно передавать в функцию большие объекты типа класса. Что выбрать:
Пример 9-15. Длина переменной
Пример 9-15. Длина переменной #!/bin/bash# length.shE_NO_ARGS=65if [ $# -eq 0 ] # Для работы скрипта необходим хотя бы один входной параметр.then echo "Вызовите сценарий с одним или более параметром командной строки." exit $E_NO_ARGSfivar01=abcdEFGH28ijecho "var01 = ${var01}"echo "Length of var01 = ${#var01}"echo "Количество входных
Пример 11-15. "Сброс" переменной
Пример 11-15. "Сброс" переменной #!/bin/bash# unset.sh: Сброс переменной.variable=hello # Инициализация.echo "variable = $variable"unset variable # Сброс. # Тот же эффект дает variable=echo "(unset) variable = $variable" # $variable = null.exit 0exportКоманда export экспортирует переменную, делая ее
14.2.1. Отображение значения переменной
14.2.1. Отображение значения переменной Чтобы отобразить значение отдельной переменной, достаточно применить команду echo и предварить имя переменной знаком $. Рассмотрим несколько примеров.$ GREAT_PICTURE="die hard" $ echo ${GREAT_PICTURE}die hard$ DOLLAR=99$ echo $(DOLLAR)99$ LAST_FILE=ZLPSO.txt $ echo
14.2.2. Удаление значения переменной
14.2.2. Удаление значения переменной Чтобы удалить значение переменной, достаточно применить команду unset: unset имя_переменной$ PC=enterprise $ echo ${РС} enterprise $ unset PC $ echo ${PC)
17.5.1. Приращение переменной цикла
17.5.1. Приращение переменной цикла Команда expr выполняет приращение переменной цикла. Сначала переменной цикла присваивается начальное значение нуль. Затем добавляется единица. Кавычки применяются для обозначения подстановки команд. Выводимые данные, полученные с
Оператор описания переменной
Оператор описания переменной В PascalABC.NET можно описывать переменные внутри составного оператора begin-end в специальном операторе описания переменной. Такие описания называются внутриблочными.Внутриблочное описание имеет одну из форм: список имен: тип;или имя: тип :=