Параллельное программирование на современном C++ : что каждый профессионал должен знать о паралельном программировании
Здесь можно купить книгу "Параллельное программирование на современном C++ : что каждый профессионал должен знать о паралельном программировании" в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.
Место издания: Москва
ISBN: 978-5-97060-957-6
Страниц: 617
Артикул: 108051
Возрастная маркировка: 16+
Краткая аннотация книги "Параллельное программирование на современном C++"
Книга во всех подробностях освещает параллельное программирование на современном C++. Особое внимание уделено опасностям и трудностям параллельного программирования (например, гонке данных и мертвой блокировке) и способам борьбы с ними. Приводятся многочисленные примеры кода, позволяющие читателю легко закрепить теорию на практических примерах. Издание адресовано читателям, которые хотят освоить параллельное программирование на одном из наиболее распространенных языков.
Содержание книги "Параллельное программирование на современном C++ : что каждый профессионал должен знать о паралельном программировании"
От издательства
Введение
КРАТКИЙ ОБЗОР
1. Параллельное программирование и современный язык C++
1.1. Стандарты C++ 11 и C++ 14: закладка фундамента
1.2. Стандарт C++ 17. Параллельные алгоритмы в стандартной библиотеке
1.3. Сопрограммы в стандарте C++ 20
1.4. Учебные примеры
1.5. Будущее языка C++
1.6. Шаблоны и эмпирические правила
1.7. Структуры данных
1.8. Сложности параллельного программирования
1.9. Библиотека для работы со временем
1.10. Обзор инструментального средства CppMem
1.11. Пояснение некоторых терминов
ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ В ПОДРОБНОСТЯХ
2. Модель памяти
2.1. Начальное представление о модели памяти
2.2. Модель памяти как контракт
2.3. Атомарные переменные
2.4. Синхронизация и порядок доступа к памяти
2.5. Барьеры
3. Управление потоками
3.1. Базовые потоки: класс std::thread
3.2. Усовершенствованные потоки: класс std::jthread (стандарт С++ 20)
3.3. Данные в совместном доступе
3.4. Данные с потоковой длительностью хранения
3.5. Переменные условия
3.6. Кооперативное прерывание потоков (стандарт C++ 20)
3.7. Семафоры (стандарт C++ 20)
3.8. Защёлки и барьеры (стандарт C++ 20)
3.9. Асинхронные задания
3.10. Синхронизированные потоки вывода (стандарт С++ 20)
3.11. Краткие итоги
4. Параллельные алгоритмы в стандартной библиотеке
4.1. Политики выполнения
4.2. Алгоритмы стандартной библиотеки
4.3. Новые параллельные алгоритмы
4.4. Поддержка в различных компиляторах
4.5. Вопросы производительности
4.6. Краткие итоги
5. Сопрограммы в стандарте C++ 20
5.1. Функция-генератор
5.2. Особенности сопрограмм
5.3. Концептуальная модель
5.4. Ожидание отложенного вычисления
5.5. Процесс функционирования сопрограммы
5.6. Оператор co_return и жадный фьючерс
5.7. Оператор co_yield и бесконечный поток данных
5.8. Оператор co_await
5.9. Синхронизация потоков
5.10. Краткие итоги
6. Учебные примеры
6.1. Вычисление суммы элементов вектора
6.2. Потокобезопасное создание объекта-одиночки
6.3. Поэтапная оптимизация с использованием инструмента CppMem
6.4. Быстрая синхронизация потоков
6.5. Вариации на тему фьючерсов
6.6. Модификации и обобщения генераторов
6.7. Способы управления заданиями
6.8. Краткие итоги
7. Будущее языка C++
7.1 Исполнители
7.2. Расширенные фьючерсы
7.3. Транзакционная память
7.4. Блоки заданий
7.5. Библиотека для векторных вычислений
7.6. Итоги
8. Шаблоны и эмпирические правила
8.1. История понятия
8.2. Неоценимая польза шаблонов
8.3. Шаблоны или эмпирические правила
8.4. Антишаблоны
8.5. Итоги
9. Шаблоны синхронизации
9.1. Управление общим доступом
9.2. Управление изменяемым состоянием
9.3. Краткие итоги
10. Шаблоны параллельной архитектуры
10.1. Активный объект
10.2. Объект-монитор
10.3. Полусинхронная архитектура
10.4. Краткие итоги
11. Эмпирические правила
11.1. Общие правила
11.2. Работа с потоками
11.3. Модель памяти
11.4. Краткие итоги
СТРУКТУРЫ ДАННЫХ
12. Структуры данных с блокировками
12.1. Общие соображения
12.2. Потокобезопасный стек
12.3. Потокобезопасная очередь
12.4. Краткие итоги
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ
13. Сложности параллельного программирования
13.1. Проблема ABA
13.2. Тонкости блокировок
13.3. Нарушение инварианта программы
13.4. Гонка данных
13.5. Мёртвые блокировки
13.6. Неявные связи между данными
13.7. Проблемы со временем жизни объектов
13.8. Перемещение потоков
13.9. Состояние гонки
14. Библиотека для работы со временем
14.1. Взаимосвязь моментов, промежутков времени и часов
14.2. Моменты времени
14.3. Промежутки времени
14.4. Типы часов
14.5. Приостановка и ограниченное ожидание
15. Обзор инструментального средства CppMem
15.1. Упрощённое введение
16. Глоссарий
Предметный указатель
Все отзывы о книге Параллельное программирование на современном C++ : что каждый профессионал должен знать о паралельном программировании
другие книги автора
С книгой "Параллельное программирование на современном C++" читают
Внимание!
При обнаружении неточностей или ошибок в описании книги "Параллельное программирование на современном C++ : что каждый профессионал должен знать о паралельном программировании (автор Райнер Гримм)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!
и мы свяжемся с вами в течение 15 минут
за оставленную заявку