Инициализация и разрушение барьера

Инициализация и разрушение барьера

int pthread_barrier_init(pthread_barrier_t* barrier,

 const pthread_barrierattr_t* attr, unsigned int count);

Функция инициализирует объект синхронизации типа барьер, после чего его можно использовать. В атрибутах барьера устанавливается (или запрещается) возможность доступа к барьеру из других процессов. По умолчанию такой доступ запрещен. Для того чтобы изменить возможность доступа к созданному ранее барьеру, его необходимо разрушить, установить соответствующий атрибут и инициализировать барьер повторно. Параметр count показывает, какое количество потоков будет ожидать на барьере до их освобождения.

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

EOK — успешное выполнение;

EAGAIN — системе не хватает ресурсов для инициализации барьера;

EBUSY — попытка инициализации уже инициализированного барьера;

EFAULT — сбой произошел при обращении ядра к аргументам;

EINVALattr указывает на неинициализированное значение атрибутов.

int pthread_barrier_destroy(pthread_barrier_t* barrier);

Функция разрушает барьер, после чего соответствующий элемент синхронизации barrier не может использоваться без повторной его инициализации.

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

EOK — успешное выполнение;

EBUSY — в настоящее время есть потоки, блокированные на барьере;

EINVAL — неинициализированный объект barrier.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

5.2.4 Инициализация

Из книги C++ автора Хилл Мюррей

5.2.4 Инициализация Использование для обеспечения инициализации объекта класса функций вроде set_date() (установить дату) неэлегантно и чревато ошибками. Поскольку нигде не утверждается, что обект должен быть инициализирован, то программист может забыть это сделать, или (что


R.12.6 Инициализация

Из книги Системное программирование в среде Windows автора Харт Джонсон М

R.12.6 Инициализация Объект класса без конструкторов, без частных или защищенных членов, без виртуальных функций и без базовых классов можно инициализировать с помощью списка инициализаторов (§R.8.4.1). Объект класса с конструктором должен инициализироваться или иметь


Пример: объект порогового барьера

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

Пример: объект порогового барьера Предположим, вам необходимо, чтобы рабочие потоки оставались в состоянии ожидания и не выполнялись до тех пор, пока количество таких потоков не станет достаточным для образования рабочей группы, способной выполнить нужную работу. Как


Комментарии по поводу реализации объекта порогового барьера

Из книги Инфраструктуры открытых ключей автора Полянская Ольга Юрьевна

Комментарии по поводу реализации объекта порогового барьера Возможности реализованного выше объекта порогового барьера в интересах простоты были намеренно ограничены. Вообще говоря, было бы желательно эмулировать объекты Windows следующим образом:• Разрешив объектам


8.9.1 Инициализация RIP

Из книги Добавьте в корзину. Ключевые принципы повышения конверсии веб-сайтов автора Айзенберг Джеффри

8.9.1 Инициализация RIP При запуске каждый маршрутизатор должен знать только о сети, к которой он подключен. Маршрутизатор RIP отправляет эти сведения широковещательной рассылкой на все соседние с ним в локальной сети маршрутизаторы. Кроме того, эти же сведения посылаются


Инициализация

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

Инициализация На этапе инициализации в зависимости от входных параметров устанавливаются переменные состояния, необходимые для валидации пути сертификации [70]. В переменных состояния сохраняются различные ограничения, учитываемые при валидации пути. Переменные


Разрушение мифа о главном персонаже

Из книги QNX/UNIX [Анатомия параллелизма] автора Цилюрик Олег Иванович

Разрушение мифа о главном персонаже Считается, что главная цель дизайна сайта, ориентированного на пользователя, – обеспечить наилучшие условия пребывания на нем главного персонажа. Но это все равно что строить супермаркет, в котором все товары располагаются на высоте


Инициализация

Из книги Цифровой журнал «Компьютерра» № 184 автора Журнал «Компьютерра»

Инициализация Переменной в объявлении может быть присвоено начальное значение посредством инициализатора. Записи инициализатора в объявлении предшествует знак равенства=<инициализатор>Можно инициализировать переменные любого типа. Функции не инициализируются.


Разрушение объекта мьютекс

Из книги Цифровой журнал «Компьютерра» № 206 автора Журнал «Компьютерра»

Разрушение объекта мьютекс int pthread_mutex_destroy(pthread_mutex_t* mutex);Вызов разрушает объект мьютекс, на который указывает переменная mutex. После чего эта переменная не может быть использована без предварительного вызова pthread_mutex_init().Возвращаемые значения:EOK — успешное завершение;EBUSY -


Разрушение блока параметров

Из книги автора

Разрушение блока параметров int pthread_condattr_destroy(pthread_condattr_t* attr);Функция разрушает блок параметров условной переменной, на которые указывает attr, после чего он уже не может использоваться без повторной инициализации.На практике разрушение параметров объекта синхронизации не


Разрушение условной переменной

Из книги автора

Разрушение условной переменной int pthread_cond_destroy(pthread_cond_t* cond);Вызов функции деинициализирует условную переменную cond. Для дальнейшего использования условной переменной, на которую ссылается cond, ее необходимо инициализировать вызовом pthread_cond_init(). Функция может


Параметры барьера

Из книги автора

Параметры барьера Следующие функции инициализируют и разрушают блок параметров барьера:int pthread_barrierattr_init(pthread_barrierattr_t* attr);int pthread_barrierattr_destroy(pthread_barrierattr_t* attr);Функция инициализации возвращает следующие значения:EOK — успешное выполнение;ENOMEM — недостаточно памяти для


Инициализация и разрушение спинлока

Из книги автора

Инициализация и разрушение спинлока int pthread_spin_init(pthread_spinlock_t* spinner, int pshared);Функция инициализирует объект синхронизации спинлока блокировки, на который указывает аргумент spinner, и устанавливает для него параметр доступа из других процессов в соответствии со значением


О том, как в галактиках перемешаны разрушение и созидание Дмитрий Вибе

Из книги автора

О том, как в галактиках перемешаны разрушение и созидание Дмитрий Вибе Опубликовано 04 августа 2013 В предпредыдущей колонке я мельком упомянул стимулированное звездообразование, точнее, рождение новых поколений звёзд, стимулированное тем или иным


Разрушение PAH в космосе Дмитрий Вибе

Из книги автора

Разрушение PAH в космосе Дмитрий Вибе Опубликовано 02 января 2014 Вы, возможно, заметили, что мои колонки в последнее время появляются нерегулярно. Увы, много приходится писать и другого: за осень–зиму мы с коллегами написали девять отчётов. Угадайте,