Райнер Гримм - Параллельное программирование на современном С++
Название: | Параллельное программирование на современном С++ | |
Автор: | Райнер Гримм | |
Жанр: | Программы, Околокомпьютерная литература, C, C++, C#, Параллельное и распределенное программирование | |
Изадано в серии: | неизвестно | |
Издательство: | ДМК Пресс | |
Год издания: | 2022 | |
ISBN: | 978-5-97060-957-6 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Параллельное программирование на современном С++"
Книга во всех подробностях освещает параллельное программирование на современном C++. Особое внимание уделено опасностям и трудностям параллельного программирования (например, гонке данных и мертвой блокировке) и способам борьбы с ними. Приводятся многочисленные примеры кода, позволяющие читателю легко закрепить теорию на практике. Для тех, кто хочет освоить параллельное программирование на одном из наиболее распространенных языков.
Читаем онлайн "Параллельное программирование на современном С++" (ознакомительный отрывок). Главная страница.
- 1
- 2
Райнер Гримм
Параллельное программирование
на современном языке C++
Concurrency
with Modern C++
What every professional C++ programmer
should know about concurrency
Rainer Grimm
Параллельное
программирование
на современном языке C++
Что каждый профессионал должен знать
о параллельном программировании
Райнер Гримм
Москва, 2022
УДК 004.4
ББК 32.973.202
Г84
Г84
Гримм Р.
Параллельное программирование на современном языке C++ / пер.
с англ. В. Ю. Винника. – М.: ДМК Пресс, 2022. – 616 с.: ил.
ISBN 978-5-97060-957-6
Книга во всех подробностях освещает параллельное программирование на
современном языке C++. Особое внимание уделено опасностям и трудностям
параллельного программирования (например, гонке данных и мертвой блокировке) и способам борьбы с ними. Приводятся многочисленные примеры кода,
позволяющие читателю легко закрепить теорию на практических примерах.
Издание адресовано читателям, которые хотят освоить параллельное программирование на одном из наиболее распространенных языков.
УДК 004.4
ББК 32.973.202
Copyright Concurrency with Modern C++ published by Rainer Grimm. Copyright @2020
Rainer Grimm
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения
владельцев авторских прав.
ISBN 978-5-97060-957-6 (рус.)
© Rainer Grimm, 2020
© Перевод, оформление, издание,
ДМК Пресс, 2022
Дизайн обложки разработан с использованием ресурса freepik.com.
Содержание
От издательства. ...................................................................................................17
Введение. .................................................................................................................18
КРАТКИЙ ОБЗОР ..............................................................................................22
1. Параллельное программирование и современный
язык C++....................................................................................................................23
1.1. Стандарты C++ 11 и C++ 14: закладка фундамента.........................................24
1.1.1. Модели памяти. ............................................................................................24
1.1.1.1. Атомарные переменные. .....................................................................25
1.1.2. Управление потоками..................................................................................25
1.1.2.1. Классы для поддержки потоков..........................................................25
1.1.2.2. Данные в совместном доступе............................................................26
1.1.2.3. Локальные данные потока...................................................................27
1.1.2.4. Переменные условия............................................................................27
1.1.2.5. Кооперативное прерывание потоков (стандарт C++ 20).................28
1.1.2.6. Семафоры (стандарт C++ 20). ..............................................................28
1.1.2.7. Защёлки и барьеры (стандарт C++ 20)................................................28
1.1.2.8. Задания...................................................................................................28
1.1.2.9. Синхронизированные потоки вывода (стандарт С++ 20). ..............29
1.2. Стандарт C++ 17. Параллельные алгоритмы в стандартной библиотеке.....29
1.2.1. Политики выполнения.................................................................................30
1.2.2. Новые параллельные алгоритмы...............................................................30
1.3. Сопрограммы в стандарте C++ 20......................................................................30
1.4. Учебные примеры................................................................................................31
1.4.1. Вычисление суммы элементов вектора....................................................31
1.4.2. Потокобезопасное создание объекта-одиночки. ....................................31
1.4.3. Поэтапная оптимизация с использованием инструмента CppMem. ...31
1.4.4. Быстрая синхронизация потоков...............................................................31
1.4.5. Вариации на тему фьючерсов.....................................................................31
1.4.6. Модификации и обобщения генераторов. ...............................................32
1.4.7. Способы управления заданиями................................................................32
1.5. Будущее языка C++. .............................................................................................32
1.5.1. Исполнители. ................................................................................................32
1.5.2. Расширенные фьючерсы.............................................................................33
1.5.3. Транзакционная память..............................................................................33
1.5.4. Блоки заданий...............................................................................................33
1.5.5. Библиотека для векторных вычислений...................................................34
1.6. Шаблоны и эмпирические правила. .................................................................34
6
1.6.1. Шаблоны синхронизации............................................................................34
1.6.2. Шаблоны параллельной архитектуры.......................................................34
1.6.3. Эмпирические правила. ..............................................................................35
1.7. Структуры --">
Параллельное программирование
на современном языке C++
Concurrency
with Modern C++
What every professional C++ programmer
should know about concurrency
Rainer Grimm
Параллельное
программирование
на современном языке C++
Что каждый профессионал должен знать
о параллельном программировании
Райнер Гримм
Москва, 2022
УДК 004.4
ББК 32.973.202
Г84
Г84
Гримм Р.
Параллельное программирование на современном языке C++ / пер.
с англ. В. Ю. Винника. – М.: ДМК Пресс, 2022. – 616 с.: ил.
ISBN 978-5-97060-957-6
Книга во всех подробностях освещает параллельное программирование на
современном языке C++. Особое внимание уделено опасностям и трудностям
параллельного программирования (например, гонке данных и мертвой блокировке) и способам борьбы с ними. Приводятся многочисленные примеры кода,
позволяющие читателю легко закрепить теорию на практических примерах.
Издание адресовано читателям, которые хотят освоить параллельное программирование на одном из наиболее распространенных языков.
УДК 004.4
ББК 32.973.202
Copyright Concurrency with Modern C++ published by Rainer Grimm. Copyright @2020
Rainer Grimm
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения
владельцев авторских прав.
ISBN 978-5-97060-957-6 (рус.)
© Rainer Grimm, 2020
© Перевод, оформление, издание,
ДМК Пресс, 2022
Дизайн обложки разработан с использованием ресурса freepik.com.
Содержание
От издательства. ...................................................................................................17
Введение. .................................................................................................................18
КРАТКИЙ ОБЗОР ..............................................................................................22
1. Параллельное программирование и современный
язык C++....................................................................................................................23
1.1. Стандарты C++ 11 и C++ 14: закладка фундамента.........................................24
1.1.1. Модели памяти. ............................................................................................24
1.1.1.1. Атомарные переменные. .....................................................................25
1.1.2. Управление потоками..................................................................................25
1.1.2.1. Классы для поддержки потоков..........................................................25
1.1.2.2. Данные в совместном доступе............................................................26
1.1.2.3. Локальные данные потока...................................................................27
1.1.2.4. Переменные условия............................................................................27
1.1.2.5. Кооперативное прерывание потоков (стандарт C++ 20).................28
1.1.2.6. Семафоры (стандарт C++ 20). ..............................................................28
1.1.2.7. Защёлки и барьеры (стандарт C++ 20)................................................28
1.1.2.8. Задания...................................................................................................28
1.1.2.9. Синхронизированные потоки вывода (стандарт С++ 20). ..............29
1.2. Стандарт C++ 17. Параллельные алгоритмы в стандартной библиотеке.....29
1.2.1. Политики выполнения.................................................................................30
1.2.2. Новые параллельные алгоритмы...............................................................30
1.3. Сопрограммы в стандарте C++ 20......................................................................30
1.4. Учебные примеры................................................................................................31
1.4.1. Вычисление суммы элементов вектора....................................................31
1.4.2. Потокобезопасное создание объекта-одиночки. ....................................31
1.4.3. Поэтапная оптимизация с использованием инструмента CppMem. ...31
1.4.4. Быстрая синхронизация потоков...............................................................31
1.4.5. Вариации на тему фьючерсов.....................................................................31
1.4.6. Модификации и обобщения генераторов. ...............................................32
1.4.7. Способы управления заданиями................................................................32
1.5. Будущее языка C++. .............................................................................................32
1.5.1. Исполнители. ................................................................................................32
1.5.2. Расширенные фьючерсы.............................................................................33
1.5.3. Транзакционная память..............................................................................33
1.5.4. Блоки заданий...............................................................................................33
1.5.5. Библиотека для векторных вычислений...................................................34
1.6. Шаблоны и эмпирические правила. .................................................................34
6
1.6.1. Шаблоны синхронизации............................................................................34
1.6.2. Шаблоны параллельной архитектуры.......................................................34
1.6.3. Эмпирические правила. ..............................................................................35
1.7. Структуры --">
- 1
- 2
Книги схожие с «Параллельное программирование на современном С++» по жанру, серии, автору или названию:
Владимир Борисович Прохоренков - The Ebook. Книга об электронных книгах Жанр: Программы Год издания: 2013 |