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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Диаграммы деятельности подобно блок-схемам имеют символ решения. Символ решения имеет форму ромба с одним входящим переходом и двумя (или более) выходящими переходами. Выходящие переходы сопровождаются условиями, которые определяют дальнейшее направление передачи управления. Это условие представляет собой обычное булево выражение. Выходящие переходы должны охватывать все возможные варианты ветвления. На рис. 10.11 показан символ решения, используемый при определении необходимости построения источника знаний.

Ино г да после завершения одно г о действия или вида деятельности начинается параллельное су щ ествование нескольких потоков, выполняю щ их различные последовательности действий или виды деятельности. В отличие от блок-схемы, язык UML определяет си м вол, который м ожно использовать для представления м о м ента, начинал с которо г о несколько потоков выполняются параллельно. Для отображения этого мо м ента используется си м вол синхронизации, который также служит для обозначения соединения параллельных путей. Этот си м вол и м еет фор м у жирной горизонтальной линии с нескольки м и выходя щ и м и перехода м и (разветвление) или нескольки м и входя щ и м и перехода м и (соединение). Переходы, выходя щ ие из линии синхронизации, означают состояние действия или деятельности, которое приводит к выполнению нескольких потоков. Переходы, входя щ ие в линию синхронизации, означают необходи м ость синхронизации нескольких потоков, а линия синхронизации в это м случае используется для отображения ожидания до тех пор, пока все ветви не соединятся в единую ветвь (поток). При м ер разветвления потоков и их соединения показан на рис. 10.12.

Рис. 10.11. Символ решения, используемый при определении необходимости построения источника знаний (ИЗ)

При создании объекта MajorAgentвызывается его конструктор, который (см. рис. 10.12) инициирует три параллельных потока выполнения. После завершения этих трех действий потоки соединяются в единый поток, назначение которо г о состоит в выполнении действия по созданию списка основных курсов.

Эту диаграмму можно разбить на три отдельных раздела, именуемых «плавательными дорожками». В каждой такой дорожке происходят действия или виды деятельности конкретного объекта, компонента или прецедента. «Плавательные дорожки» разделены на диаграмме вертикальными линиями. Одно действие (или вид деятельности) может происходить только в одной дорожке. Линии переходов и линии синхронизации могут пересекать одну или несколько дорожек. Действия или виды деятельности, обозначенные в одной и той же или различных дорожках, но находящиеся при этом на одном уровне, являются параллельными. Диаграмма деятельности с «плавательными дорожками» показана на рис. 10.13.

Назначение этой диаграммы деятельности — смоделировать последовательность действий объекта blackboard,который г енерирует сводный список курсов для систе м ы составления расписаний. Объект blackboardм. рис. 10.13) сначала принимает решение о том, нужно ли создавать объект MajorAgent.Если нужно, то вызывается конструктор объекта MajorAgent.Это приводит к созданию трех ветвей передачи управления. В двух из них действия выполняет объект blackboard(«получает теку щ ий план выдачи дипломов» и «считывает курсы обучения»), а в третьей — объект ScheduleofCourses(«считывает расписание курсов»). Все эти действия — входные (поэтому для их обозначения используются параллело г раммы). Затем три ветви объединяются в одну, и объект MajorAgentвыполняет действие, которое состоит в создании списка основных курсов. После то г о как объект blackboardвыполнит «свое» действие, а именно «получит список основных курсов», происходит удаление объекта MajorAgent.Объект blackboard «г енерирует сводный список курсов», и на этом деятельность рассматриваемых объектов прекращается.

Конечные автоматы

С помощью конечных автоматов отображается поведение единой логической конструкции, определяющей последовательность ее преобразований в качестве ответов на внутренние и внешние события в течение ее линии жизни. Такой единой логической конструкцией может быть система, прецедент или объект. Конечные автоматы используются для моделирования поведения одного элемента. Элемент может реагировать на такие события, как процедуры, функции, операции и сигналы. Элемент мо-жет также отвечать на факт истечения времени. Когда происходит подобное событие, элемент реагирует на него определенным видом деятельности или путем выполнения некоторого действия, которое приводит к изменению состояния этого элемента или созданию некоторого артефакта. Выполняемое в этом случае действие должно зависеть от текущего состояния элемента. Под состоянием понимается ситуация, которая создается в результате выполнения элементом некоторого действия или его ответа на некоторое событие в течение его линии жизни.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x