Камерон Хьюз - Параллельное и распределенное программирование на С++

Здесь есть возможность читать онлайн «Камерон Хьюз - Параллельное и распределенное программирование на С++» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: МоскваСанкт-ПетербургКиев, Год выпуска: 2004, ISBN: 2004, Издательство: Издательский дом «Вильямс», Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Параллельное и распределенное программирование на С++: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Параллельное и распределенное программирование на С++»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В книге представлен архитектурный подход к распределенному и параллельному программированию с использованием языка С++. Здесь описаны простые методы программирования параллельных виртуальных машин и основы разработки кластерных приложений. Эта книга не только научит писать программные компоненты, предназначенные для совместной работы в сетевой среде, но и послужит надежным «путеводителем» по стандартам для программистов, которые занимаются многозадачными и многопоточными приложениями. Многолетний опыт работы привел авторов книги к использованию агентно-ориентированной архитектуры, а для минимизации затрат на обеспечение связей между объектами системы они предлагают применить методологию «классной доски».
Эта книга адресована программистам, проектировщикам и разработчикам программных продуктов, а также научным работникам, преподавателям и студентам, которых интересует введение в параллельное и распределенное программирование с использованием языка С++.

Параллельное и распределенное программирование на С++ — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Параллельное и распределенное программирование на С++», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Например, тупиковая ситуация при двойной блокировке— это явным образом разрешенное поведение, которое позволяет избежать внесения в базовый механизм больших затрат. (Более «дружественные» мьютексы, которые обнаруживают взаимоблокировку или позволяют множественное блокирование одним и тем же потоком, пользователь может легко создать с помощью других механизмов. Например, для регистрации владельцев мьютекса можно использовать функцию pthread_self.) Реализации путем использования специальных атрибутов мьютексов также могут предоставлять дополнительные возможности в виде опций.

Поскольку большинство атрибутов проверяется перед тем, как поток должен быть заблокирован, их использование не замедляет процесс блокирования мьютекса.

Более того, несмотря на возможность выделить идентификационный номер (ID) владельца мьютекса, это потребовало бы сохранения текущего ID потока при каждом блокировании мьютекса, что связано с неприемлемым уровнем затрат. Аналогичные аргументы применимы и к операции mutex_tryunlock.

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

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

Смотри также

pthread_mutex_destroy (), pthread_mutex_timedlock (), то м Base Definitions стандарта IEEE Std 1003.1-2001, .

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

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

Issue 6

Функции pthread_mutex_lock (), pthread_mutex_trylock () и pthread_mutex_ unlock () отмечены как часть опции Threads.

В результате согласования со спецификацией Single UNIX Specification было определено поведение при попытке повторно заблокировать мьютекс.

В целях согласования со стандартом IEEE Std 1003.1d-1999 в раздел «Смотри также» была добавлена функция pthread_mutex_timedlock ().

Пр и ложе ни е Б 607

pthread_mutex_timedlock

Имя

pthread_mutex_timedlock — функция блокировки мьютекса (ADVANCED REALTIME).

Синопсис

THR

#include

TMO

#include

int pthread_mutex_timedlock ( pthread_mutex_t *restrict mutex, const struct timespec *restrict abs_timeout);

Описание

Функция pthread_mutex_timedlock() используется для блокирования объекта мьютекса, адресуемого параметром mutex . Если этот мьютекс уже заблокирован, блокируется вызывающий поток до тех пор, пока мьютекс не станет доступным (как при использовании функции pthread_mutex_lock()). Если мьютекс нельзя заблокировать без ожидания, пока другой поток его разблокирует, это ожидание будет прервано, когда истечет заданный интервал времени.

Заданный интервал времени истекает, когда наступит абсолютное время, заданное параметром abs_timeout (т.е. ког д а значение систе м ных часов станет равны м или превысит значение abs_timeout) или если в момент вызова функции абсолютное время, заданное пара м етро м abs_timeout, уже наступило.

TMR Если поддерживается опция Timers, отсчет интервала вре м ени проис ходит с использованием часов CLOCK_REALTIME;в противном случае — с использованием системных часов, значение которых возвращает функция time ().

Разрешение для интервала времени определяется разрешением часов, которые используются для его отсчета. Тип данных timespec определяется в заголовке .

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

У правил наследования приоритета (для мьютексов, инициализированных с использованием протокола PRIO_INHERIT)есть следствие: если ожидание мьютекса, действующего с ограничением по времени, завершается по причине исчерпания заданного интервала времени, то приоритет владельца мьютекса будет откорректирован таким образом, чтобы отражать факт того, что данный поток больше не относится к числу потоков, ожидающих заданный мьютекс.

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

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

Ошибки

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

[EINVALJ мьютекс был создан с использованием атрибута protocol, и м еющего значение PTHREAD_PRIO_PROTECT,а приоритет вызывающего потока выше текущего значения предельного приоритета м ьютекса;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Параллельное и распределенное программирование на С++»

Представляем Вашему вниманию похожие книги на «Параллельное и распределенное программирование на С++» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Параллельное и распределенное программирование на С++»

Обсуждение, отзывы о книге «Параллельное и распределенное программирование на С++» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x