Параллельное программирование на C++ в действии, Практика разработки многопоточных программ, Энтони У., 2012

По кнопке выше «Купить бумажную книгу» можно купить эту книгу с доставкой по всей России и похожие книги по самой лучшей цене в бумажном виде на сайтах официальных интернет магазинов Лабиринт, Озон, Буквоед, Читай-город, Литрес, My-shop, Book24, Books.ru.

По кнопке «Купить и скачать электронную книгу» можно купить эту книгу в электронном виде в официальном интернет магазине «ЛитРес», и потом ее скачать на сайте Литреса.

По кнопке «Найти похожие материалы на других сайтах» можно искать похожие материалы на других сайтах.

On the buttons above you can buy the book in official online stores Labirint, Ozon and others. Also you can search related and similar materials on other sites.

Ссылки на файлы заблокированы по запросу правообладателей.

Links to files are blocked at the request of copyright holders.


Параллельное программирование на C++ в действии, Практика разработки многопоточных программ, Энтони У., 2012.

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

Параллельное программирование на C++ в действии, Практика разработки многопоточных программ, Энтони У., 2012


Параллелизм в вычислительных системах.
Говоря о параллелизме в контексте компьютеров, мы имеем в виду, что одна и та же система выполняет несколько независимых операций параллельно, а не последовательно. Идея не нова: многозадачные операционные системы, позволяющие одновременно запускать на одном компьютере несколько приложений с помощью переключения между задачами уже много лет как стали привычными, а дорогие серверы с несколькими процессорами, обеспечивающие истинный параллелизм, появились еще раньше. Новым же является широкое распространение компьютеров, которые не просто создают иллюзию одновременного выполнения задач, а действительно исполняют их параллельно.

Исторически компьютеры, как правило, оснащались одним процессором с одним блоком обработки, или ядром, и это остается справедливым для многих настольных машин и по сей день. Такая машина в действительности способна исполнять только одну задачу в каждый момент времени, но может переключаться между задачами много раз в секунду. Таким образом, сначала одна задача немножко поработает, потом другая, а в итоге складывается впечатление, будто все происходит одновременно. Это называется переключением задач. Тем не менее, и для таких систем мы можем говорить о параллелизме', задачи сменяются очень часто и заранее нельзя сказать, в какой момент процессор приостановит одну и переключится на другую. Переключение задач создает иллюзию параллелизма не только у пользователя, но и у самого приложения. Но так как это всего лишь иллюзия, то между поведением приложения в однопроцессорной и истинно параллельной среде могут существовать тонкие различия. В частности, неверные допущения о модели памяти (см. главу 5) в однопроцессорной среде могут не проявляться. Подробнее эта тема рассматривается в главе 10.

ОГЛАВЛЕНИЕ.
Предисловие.
Благодарности.
Об этой книге.
Об иллюстрации на обложке.
ГЛАВА 1. Здравствуй, параллельный мир!.
ГЛАВА 2. Управление потоками.
ГЛАВА 3. Разделение данных между потоками.
ГЛАВА 4. Синхронизация параллельных операций.
ГЛАВА 5. Модель памяти C++ и атомарные операции.
ГЛАВА 6. Проектирование параллельных структур данных с блокировками.
ГЛАВА 7. Проектирование параллельных структур данных без блокировок.
ГЛАВА 8. Проектирование параллельных программ.
ГЛАВА 9. Продвинутое управление потоками.
ГЛАВА 10. Тестирование и отладка многопоточных приложений.
ПРИЛОЖЕНИЕ A. Краткий справочник по некоторым конструкциям языка C++.
ПРИЛОЖЕНИЕ B. Краткое сравнение библиотек для написания параллельных программ.
ПРИЛОЖЕНИЕ C. Каркас передачи сообщений и полный пример программы банкомата.
ПРИЛОЖЕНИЕ D. Справочник по библиотеке C++ Thread Library.
РЕСУРСЫ.
Печатные ресурсы.
Сетевые ресурсы.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ.

Купить .
Дата публикации:






Теги: :: ::


Следующие учебники и книги:
Предыдущие статьи:


 


 

Книги, учебники, обучение по разделам




Не нашёл? Найди:





2024-11-21 10:50:30