Главная » 2013»Март»12 » Параллельное программирование на С++ в действии
22:46
Параллельное программирование на С++ в действии
В наши дни компьютеры с несколькими многоядерными процессорами стали нормой. Стандарт С++11 языка С++ предоставляет развитую поддержку многопоточности в приложениях. Поэтому, чтобы сохранять конкурентоспособность, вы должны овладеть принципами и приемами их разработки, а также новыми средствами языка, относящимися к параллелизму. Книга "Параллельное программирование на С++ в действии" не предполагает предварительных знаний в этой области. Вдумчиво читая ее, вы научитесь писать надежные и элегантные многопоточные программы на С++11. Вы узнаете о том, что такое потоковая модель памяти, и о том, какие средства поддержки многопоточности, в том числе запуска и синхронизации потоков, имеются в стандартной библиотеке. Попутно вы познакомитесь с различными нетривиальными проблемами программирования в условиях параллелизма.
Предисловие Благодарности Об этой книге Об иллюстрации на обложке Глава 1. Здравствуй, параллельный мир! 1.1. Что такое параллелизм? 1.2. Зачем нужен параллелизм? 1.3. Параллелизм и многопоточность в C++ 1.4. В начале пути 1.5. Резюме Глава 2. Управление потоками 2.1. Базовые операции управления потоками 2.2. Передача аргументов функции потока 2.3. Передача владения потоком 2.4. Задание количества потоков во время выполнения 2.5. Идентификация потоков 2.6. Резюме Глава 3. Разделение данных между потоками 3.1. Проблемы разделения данных между потоками 3.2. Защита разделяемых данных с помощью мьютексов 3.3. Другие средства защиты разделяемых данных 3.4. Резюме Глава 4. Синхронизация параллельных операций 4.1. Ожидание события или иного условия 4.2. Ожидание одноразовых событий с помощью механизма будущих результатов 4.3. Ожидание с ограничением по времени 4.4. Применение синхронизации операций для упрощения кода 4.5. Резюме Глава 5. Модель памяти C++ и атомарные операции 5.1. Основы модели памяти 5.2. Атомарные операции и типы в C++ 5.3. Синхронизация операций и принудительное упорядочение 5.4. Резюме Глава 6. Проектирование параллельных структур данных с блокировками 6.1. Что понимается под проектированием структур данных, рассчитанных на параллельный доступ? 6.2. Параллельные структуры данных с блокировками 6.3. Проектирование более сложных структур данных с блокировками 6.4. Резюме Глава 7. Проектирование параллельных структур данных без блокировок 7.1. Определения и следствия из них 7.2. Примеры структур данных, свободных от блокировок 7.3. Рекомендации по написанию структур данных без блокировок 7.4. Резюме Глава 8. Проектирование параллельных программ 8.1. Методы распределения работы между потоками 8.2. Факторы, влияющие на производительность параллельного кода 8.3. Проектирование структур данных для повышения производительности многопоточной программы 8.4. Дополнительные соображения при проектировании параллельных программ 8.5. Проектирование параллельного кода на практике 8.6. Резюме Глава 9. Продвинутое управление потоками 9.1. Пулы потоков 9.2. Прерывание потоков 9.3. Резюме Глава 10. Тестирование и отладка многопоточных приложений 10.1. Типы ошибок, связанных с параллелизмом 10.2. Методы поиска ошибок, связанных с параллелизмом 10.3. Резюме Приложение А. Краткий справочник по некоторым конструкциям языка C++ А.1. Ссылки на r-значения А.2. Удаленные функции А.3. Умалчиваемые функции А.4. constexpr-функции А.5. Лямбда-функции А.6. Шаблоны с переменным числом параметров А.7. Автоматическое выведение типа переменной А.8. Поточно-локальные переменные А.9. Резюме Приложение В. Краткое сравнение библиотек для написания параллельных программ Приложение С. Каркас передачи сообщений и полный пример программы банкомата Приложение D. Справочник по библиотеке C++Thread Library D.1. Заголовок < chrono> D.2. Заголовок < condition_variable> D.3. Заголовок < atomic> D.4. Заголовок < future> D.5. Заголовок < mutex> D.6. Заголовок < ratio> D.7. Заголовок < thread> Ресурсы Печатные ресурсы Сетевые ресурсы Предметный указатель
На ierixon.ru представлены учебники для разных классов, которые Вы можете скачать понравившийся учебник себе на компьютер. Здесь вы найдете последние новинки учебных пособий, а также всегда можете приобрести учебники уже вышедшие в продажу. Все учебники расположенные на сайте представлены абсолютно бесплатно и в ознакомительных целях. Также все пособия в хорошем качестве.