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

Подробнее об объектно-ориентированном взаимном исключении и интерфейсных классах

«Полуширокие» интерфейсы

Поддержка потокового представления

Перегрузка операторов "«" и "»" для PVM-потоков данных

Пользовательские классы, создаваемые для обработки PVM-потоков данных

Объектно-ориентированные каналы и FIFO-очереди как базовые элементы низкого уровня

Связь каналов c iostream-объектами с помощью дескрипторов файлов

Доступ к анонимным каналам c использованием итератора ostream_iterator

FIFO-очереди (именованные каналы),

Интерфейсные FIFO-классы

Каркасные классы

Резюме

Реализация агентно-ориентированных архитектур

Что такое агенты

Агенты: исходное определение

Типы агентов

В чем состоит разница между объектами и агентами

Понятие об агентно-ориентированном программировании

Роль агентов в распределенном программировании

Агенты и параллельное программирование

Базовые компоненты агентов

Когнитивные структуры данных

Методы рассуждений

Реализация агентов в С++

Типы данных предположений и структуры убеждений

Класс агента

Цикл активизации агента

Простая автономность

12.6. Резюме

Реализация технологии «классной доски» с использованием PVM-средств, потоков и компонентов

Модель «классной доски»

Методы структурирования «классной доски»

Анатомия источника знаний

Стратегии управления для «классной доски»

Реализация модели «классной доски» с помощью CORBA-объектов

Пример использования CORBA-объекта «классной доски»

Реализация интерфейсного класса black_board

Порождение источников знаний в конструкторе «классной доски»

Порождение источников знаний с помощью PVM-задач

Связь «классной доски» и источников знаний

Активизация источников знаний с помощью POSIX-функции spawn

Реализация модели «классной доски» с помощью глобальных объектов

Активизация источников знаний с помощью потоков

Резюме

Приложение A

Диаграммы классов и объектов

Диаграммы взаимодейс т вия

Диаграммы сотрудничества

Диаграммы последовательностей

A.2.3. Диаграммы видов деятельности

A.3. Диаграммы состояний

A.4. Диаграммы пакетов

Приложение Б [26]

posix_spawn, posix_spawnp

posix_spawn_file_actions_addclose, posix_spawn_file_actions_addopen

posix_spawn_file_actions_adddup2

posix_spawn_file_actions_destroy, posix_spawn_file_actions_init

posix_spawnattr_destroy, posix_spawnattr_init

posix_spawnattr_getflags, posix_spawnattr_setflags

posix_spawnattr_getpgroup, posix_spawnattr_setpgroup

posix_spawnattr_getschedparam, posix_spawnattr_setschedparam

posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy

posix_spawnattr_getsigdefault, posix_spawnattr_setsigdefault

posix_spawnattr_getsigmask, posix_spawnattr_setsigmask

pthread_attr_destroy, pthread_attr_init

pthread_attr_getdetachstate, pthread_attr__setdetachstate

pthread_attr_getguardsize, pthread_attr_setguardsize

pthread_attr_getinheritsched, pthread_attr_setinheritsched

pthread_attr_getschedparam, pthread_attr_setschedparam

pthread_attr_getschedpolicy, pthread_attr_setschedpolicy

pthread_cancel

pthread_cleanup_pop, pthread_cleanup_push

pthread_cond_broadcast,pthread_cond_signal

pthread_cond_destroy, pthread_cond_init

pthread_cond_timedwait, pthread_cond_wait

pthread_condattr_destroy, pthread_condattr_init

pthread_condattr_getpshared, pthread_condattr_setpshared

pthread_create

pthread_detach

pthread_exit

pthread_getconcurrency, pthread_setconcurrency

pthread_getschedparam, pthread_setschedparam

pthread_join

pthread_mutex_destroy, pthread_mutex_init

pthread_mutex_getprioceiling, pthread_mutex_setprioceiling

pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock

pthread_mutex_timedlock

pthread_mutexattr_destroy

pthread_mutexattr_getprioceiling, pthread_mutexattr_setprioceiling

pthread_mutexattr_setprotocol, pthread_mutexattr_getprotocol

pthread_mutexattr_getpshared, pthread_mutexattr_setpshared

pthread_mutexattr_gettype, pthread_mutexattr_settype

pthread_once

pthread_rwlock_destroy, pthread_rwlock_init

pthread_rwlock_rdlock, pthread_rwlock_tryrdlock

pthread_rwlock_timedrdlock

pthread_rwlock_timedwrlock

pthread_rwlock_trywrlock, pthread_rwlock_wrlock

pthread_rwlock_unlock

pthread_rwlockattr_destroy, pthread_rwlockattr_init

pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared

pthread_self

pthread_setcancelstate, pthread_setcanceltype, pthread_testcancel

pthread_setschedprio

notes

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

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

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

А. Алексашин , Дэвид Томас , Эндрю Хант

Программирование / Книги по IT