Параллельное программирование на С++ в действии. Практика разработки многопоточных программ
Автор: Уильямс Энтони
Жанр: Параллельное и распределенное программирование, C, C++, C#, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики)
Год издания: 2012
Язык книги: русский
Объем: 630 стр.
Книга изъята из доступа
Описание книги «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ»
В наши дни компьютеры с несколькими многоядерными процессорами стали нормой. Стандарт С++11 языка С++ предоставляет развитую поддержку многопоточности в приложениях. Поэтому, чтобы сохранять конкурентоспособность, вы должны овладеть принципами и приемами их разработки, а также новыми средствами языка, относящимися к параллелизму. Книга «Параллельное программирование на С++ в действии» не предполагает предварительных знаний в этой области. Вдумчиво читая ее, вы научитесь писать надежные и элегантные многопоточные программы на С++11. Вы узнаете о том, что такое потоковая модель памяти, и о том, какие средства поддержки многопоточности, в том числе запуска и синхронизации потоков, имеются в стандартной библиотеке. Попутно вы познакомитесь с различными нетривиальными проблемами программирования в условиях параллелизма. В этой главе: ■ Что понимается под параллелизмом и многопоточностью. ■ Зачем использовать параллелизм и многопоточность в своих приложениях. ■ Замечания об истории поддержки параллелизма в С++. ■ Структура простой многопоточной программы на С++. В этой главе: ■ Запуск потоков и различные способы задания кода, исполняемого в новом потоке. ■ Ждать завершения потока или позволить ему работать независимо? ■ Уникальные идентификаторы потоков. В этой главе: ■ Проблемы разделения данных между потоками. ■ Защита данных с помощью мьютексов. ■ Альтернативные средства защиты разделяемых данных. В этой главе: ■ Ожидание события. ■ Ожидание однократного события с будущими результатами ■ Ожидание с ограничением по времени. ■ Использование синхронизации операций для упрощения программы. В этой главе: ■ Детальные сведения о модели памяти С++. ■ Атомарные типы в стандартной библиотеке С++. ■ Операции над атомарными типами. ■ Как можно использовать эти операции для синхронизации потоков. В этой главе: ■ Что понимается под проектированием структур данных, рассчитанных на параллельный доступ? ■ Рекомендации по проектированию таких структур. ■ Примеры реализации параллельных структур данных. В этой главе: ■ Реализация параллельных структур данных без использования блокировок. ■ Техника управления памятью в структурах данных без блокировок. ■ Простые рекомендации по написанию структур данных без блокировок. В этой главе: ■ Методы распределения данных между потоками. ■ Факторы, влияющие на производительность параллельного кода. ■ Как от этих факторов зависит дизайн параллельных структур данных. ■ Безопасность многопоточного кода относительно исключений. ■ Масштабируемость. ■ Примеры реализации параллельных алгоритмов. В этой главе: ■ Пулы потоков. ■ Учет зависимостей между задачами, адресованными пулу. ■ Занимание работ у потоков из пула. ■ Прерывание потоков. В этой главе: ■ Ошибки, связанные с параллелизмом. ■ Поиск ошибок путем тестирования и анализа кода коллегами. ■ Разработка тестов для многопоточных приложений. ■ Тестирование производительности многопоточных приложений.
Это произведение было опубликовано в 2012 году издательством ДМК Пресс в городе Москва с присваиванием ISBN: 978-5-94074-448-1. На нашем сайте можно скачать фрагмент книги «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ» в формате fb2, html, txt, rtf, epub, mobi, pdf или читать онлайн. Здесь можно обратиться к отзывам читателей, уже знакомых с книгой, и узнать их мнение. А в магазинах партнёров заказать бумажную версию книги.