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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать
Рис. 4.9. Модель конвейера

Как модель делегирования, так и модель равноправных потоков могут использовать модели параллелизма STMD и MTMD. Как было описано выше, пул потоков может выполнять различные подпрограммы для обработки различных наборов данных. Такое поведение соответствует модели MTMD. Пул потоков может быть также настроен на выполнение одной и той же подпрограммы. Запросы (или задания), отсылаемые системе, могут представлять собой различные наборы данных, а не различные задачи. И в этом случае поведение множества потоков, реализующих одни и те же инструкции, но на различных наборах данных, соответствует модели STMD. Модель равноправных потоков может быть реализована в виде потоков, выполняющих одинаковые или различные задачи. Каждый поток выполнения может иметь собственный поток данных или несколько файлов сданными, предназначенных для обработки каждым потоком. В модели конвейера используется МТМГ>модель параллелизма. На разных этапах выполняются различные виды обработки, поэтому в любой момент времени различные совокупности входных данных будут находиться на различных этапах выполнения. Модельное представление конвейера было бы бесполезным, если бы на каждом этапе выполнялась одна и та же обработка. Модели STMD и MTMD представлены на рис. 4.10.

Введение в библиотеку Pthread

Библиотека Pthread предоставляет API-интерфейс для создания и управления потоками в приложении. Библиотека Pthread основана на стандартизированном интерфейсе программирования, который был определен комитетом по выпуску стандартов IEEE в стандарте POSIX 1003.1с. Сторонние фирмы-изготовители придерживаются стандарта POSIX в реализациях, которые именуются библиотеками потоков Pthread или POSIX.

Рис. 4.10. Модели параллелизма STMD и MTMD

Библиотека Pthread содержит более 60 функций, которые можно разделить на следующие категории.

1. Функции управления потоками.

1.1. Конфигурирование потоков.

1.2. Отмена потоков.

1.3. Стратегии планирования потоков.

1.4. Доступ к данным потоков.

1.5. Обработка сигналов.

1.6. Функции доступа к атрибутам потоков.

1.6.1. Конфигурирование атрибутов потоков.

1.6.2. Конфигурирование атрибутов, относящихся к стекам потоков.

1.6.3. Конфигурирование атрибутов, относящихся к стратегиям планирования потоков.

2. Функции управления мьютексами.

2.1. Конфигурирование мьютексов.

2.2. Управление приоритетами.

2.3. Функции доступа к атрибутам мьютексов.

2.3.1. Конфигурирование атрибутов мьютексов.«

2.3.2. Конфигурирование атрибутов, относящихся к протоколам мьютексов.

2.3.3. Конфигурирование атрибутов, относящихся к управлению приоритетами мьютексов.

3. Функции управления условными переменными.

3.1. Конфигурирование условных переменных.

3.2. Функции доступа к атрибутам условных переменных.

3.2.1. Конфигурирование атрибутов условных переменных.

3.2.2. Функции совместного использования условных переменных.

Библиотека Pthread может быть реализована на любом языке, но для соответствия стандарту POSIX она должна быть согласована со стандартизированным интерфейсом. Библиотека Pthread — не единственная реализация потокового API-интерфейса Существуют другие реализации, созданные сторонними фирмами-производителями аппаратных и программных средств. Например, среда Sun поддерживает библиотеку Pthread и собственный вариант библиотеки потоков Solaris. В этой главе мы рассмотрим некоторые функции библиотеки Pthread, которые реализуют управление потоками.

Анатомия простой многопоточной программы

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

// Листинг 4.1. Использование модели делегирования в

// простой многопоточной программе

#include

#include

void *task1(void *X) //define task to be executed by ThreadA

{

//...

cout << «Thread A complete» << endl;

}

void *task2(void *X) //define task to be executed by ThreadB

{

//...

cout << «Thread B complete» << endl;

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

Интервал:

Закладка:

Сделать

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

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


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

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

x