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

Тут можно читать онлайн Камерон Хьюз - Параллельное и распределенное программирование на С++ - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Издательский дом «Вильямс», год 2004. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Параллельное и распределенное программирование на С++
  • Автор:
  • Жанр:
  • Издательство:
    Издательский дом «Вильямс»
  • Год:
    2004
  • Город:
    МоскваСанкт-ПетербургКиев
  • ISBN:
    ISBN 5-8459-0686-5 (рус.)ISBN 0-13-101376-9 (англ.)
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

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

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

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

Параллельное и распределенное программирование на С++ - читать книгу онлайн бесплатно, автор Камерон Хьюз
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

mySchedule именованный экземпляр

mySchedule: student_schedule именованный экземпляр с именем класса

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

:student_schedule

Такой тип обозначения м ожет оказаться удобны м в случае, когда в систе м е существует несколько экзе м пляров класса. Несколько экзе м пляров класса можно представить двумя способами: в виде объектов и в виде классов.

Количество экземпляров, которое может иметь класс, называется множественностью. Количество экземпляров класса (от нуля до бесконечности) можно указать на диаграм м е класса. Класс с нулевым количеством экземпляров является чистым абстрактным классом. Он не может иметь ни одного объекта, явно объявленного с использованием этого типа. Количество экземпляров может иметь нижнюю и верхнюю границы, которые также могут быть указаны на диаграмме класса. На рис. 10.2 показаны возможные варианты обозначения нескольких экземпляров класса на диаграмме класса (с помощью графических средств или значения множественности).

На рис. 10.2 множественность класса student_scheduleуказана как диапазон 1..7 ,а это означает, что наименьшее количество расписаний в нашей системе равно 1, а наибольшее — 7. Приведем еще несколько примеров обозначения множественности класса.

1Один экземпляр

1..nОт одного до заданного числа n.

1..* От одно г о до бесконечности

0..1От нуля до единицы

0* От нуля до бесконечности

*Бесконечное количество экземпляров

Безусловно, бесконечное количество экземпляров будет ограничено объемом внутренней или внешней памяти.

Рис. 10.2. Обозначение нескольких экземпляров класса с помощью графических средств и значения множественности

Отображение информации об атрибутах и операциях класса

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

StudentNumber : string;

Term : string

StudentSchedule : map >

ScheduleIterator : map >::iterator

Для oбъeктa mySchedule эти атрибуты могут принимать такие значения.

StudentNumber : string = «102933»

Term:string = «Spring»

Методы могут быть отображены с параметрами и с указанием типов возвращаемых ими значений.

studentSchedule(&X : map >) : void

StudentNumber () : string

Фу н кция studentSchedule() принимает значение courseдля заданного студента (course— это класс, который моделирует один курс обучения). Курсы для каждого дня недели хранятся в векторе. Контейнер mapустанавливает соответствие строки (дня недели) и вектора курсов (для заданного дня недели). Функция studentSchedule()возвращает void-значение, а функция studentNumber() — значение типа string.

На диаграмме класса можно также отобразить свойства атрибутов и операций (методов). Свойства атрибутов помогают описать характер использования того или иного атрибута, что дает возможность судить о том, можно ли его изменять или нет. Так, для описания атрибутов используются три свойства: changeable, addOnlyи frozen.Краткое описание этих свойств приведено в табл. 10.1. Для определения методов используются четыре свойства: isQuery, sequential, guardedи concurrent.Они также описаны в табл.10.1. Свойства sequential, guardedи concurrentимеют отношение к параллельности выполнения методов. Свойство sequentialописывает операцию, ответственность за синхронизацию которой лежит на инициаторе ее вызова. Такие операции не гарантируют целостности объекта. Свойство guardedописывает параллельно выполняемую операцию с уже встроенной синхронизацией. При этом guarded-операции означают, что в каждый момент времени возможен только один ее вызов. Свойство concurrentописывает операцию, которая позволяет ее одновременное использование. Операции, описываемые с помощью свойств guardedи concurrent,гарантируют целостность объекта. Гарантия целостности объекта применима к операциям, которые изменяют состояние объекта.

Таблица 10.1. Свойс т ва а т рибу т ов и ме т одов

Свойства атрибутов

{changeable} На значения этого типа атрибута никакие ограничения не налагаются

{addOnly} Для атрибутов, y которых значение множественности >1,можно добавлять дополнительные значения. Созданное значение невозможно удалить или изменить

{frozen} После инициализации объекта значение атрибута изменить нельзя

Свойства методов

{isQuery} При выполнении метода этого типа состояние объекта остается неизменным. Этот метод возвращает значения

{sequential} Пользователи этого метода для обеспечения гарантии последовательного доступа к нему должны использовать синхронизацию. При множественном параллельном доступе к этому метолу целостность объекта подвергается опасности

{guarded} Синхронизированный последовательный доступ к этому методу встроен в объект; целостность объекта гарантируется

{concurrent} К этому метолу разрешен множественный параллельный доступ: целостность объекта при этом гарантируется

Свойства guarded и concurrent можно использовать для отражения модели PRAM (Parallel Random-Access Machine — параллельнал машина с произвольным доступом). Если метод считывает и/или записывает данные в память, доступную для другого метода, который также считывает и/или записывает данные в гу же память, этот метод может быть описан как PRAM-алгоритм. При этом можно использовать соответствующие свойства, например, такие.

PRAM-алгоритмы Свойства
CR (Concurrent Read — параллельное чтение) concurrent
CW (Concurrent Write — параллельная запись) concurrent
CRCW (Concurrent Read Concurrent Write — параллельное чтение, параллельная запись) concurrent
EW (Exclusive Write — монопольнал запись) guarded
ER (Exclusive Read — монопольное чтение) guarded
EREW (Exclusive Read Exclusive Write — монопольное чтение, монопольная запись) guarded

Описание класса student_scheduleможно сделать еще более подробным, указав с помощью свойств, как использовать его (класса) атрибуты и операции.

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

Интервал:

Закладка:

Сделать


Камерон Хьюз читать все книги автора по порядку

Камерон Хьюз - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Параллельное и распределенное программирование на С++, автор: Камерон Хьюз. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x