Параллельное программирование на С++ в действии. Практика разработки многопоточных программ [Энтони Уильямс] (fb2)

Книга заблокирована по требованию правообладателя или ФЗ-114/ФЗ-149/ФЗ-398.


Энтони Уильямс  
(перевод: А. А. Слинкин)

C, C++, C#   Литература ХXI века (эпоха Глобализации экономики)   Параллельное и распределенное программирование   Современные российские издания  

Параллельное программирование на С++ в действии. Практика разработки многопоточных программ 2.98 Мб, 630с.
скачать: (fb2) - (исправленную)  читать: (полностью) 
издано в 2012 г. (post) (иллюстрации)

Параллельное программирование на С++ в действии. Практика разработки многопоточных программ (fb2)Добавлена: 01.07.2018 Версия: 1.009.
Дата создания файла: 2018-05-22
ISBN: 978-5-94074-448-1 Кодировка файла: UTF-8
Издательство: ДМК Пресс
Город: Москва
Поделиться:
  (Fb2-info)    (ссылка для форума)
  (ссылка для блога)     (QR-код книги)  

Аннотация

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

В этой главе:
■ Что понимается под параллелизмом и многопоточностью.
■ Зачем использовать параллелизм и многопоточность в своих приложениях.
■ Замечания об истории поддержки параллелизма в С++.
■ Структура простой многопоточной программы на С++.

В этой главе:
■ Запуск потоков и различные способы задания кода, исполняемого в новом потоке.
■ Ждать завершения потока или позволить ему работать независимо?
■ Уникальные идентификаторы потоков.

В этой главе:
■ Проблемы разделения данных между потоками.
■ Защита данных с помощью мьютексов.
■ Альтернативные средства защиты разделяемых данных.

В этой главе:
■ Ожидание события.
■ Ожидание однократного события с будущими результатами
■ Ожидание с ограничением по времени.
■ Использование синхронизации операций для упрощения программы.

В этой главе:
■ Детальные сведения о модели памяти С++.
■ Атомарные типы в стандартной библиотеке С++.
■ Операции над атомарными типами.
■ Как можно использовать эти операции для синхронизации потоков.

В этой главе:
■ Что понимается под проектированием структур данных, рассчитанных на параллельный доступ?
■ Рекомендации по проектированию таких структур.
■ Примеры реализации параллельных структур данных.

В этой главе:
■ Реализация параллельных структур данных без использования блокировок.
■ Техника управления памятью в структурах данных без блокировок.
■ Простые рекомендации по написанию структур данных без блокировок.

В этой главе:
■ Методы распределения данных между потоками.
■ Факторы, влияющие на производительность параллельного кода.
■ Как от этих факторов зависит дизайн параллельных структур данных.
■ Безопасность многопоточного кода относительно исключений.
■ Масштабируемость.
■ Примеры реализации параллельных алгоритмов.

В этой главе:
■ Пулы потоков.
■ Учет зависимостей между задачами, адресованными пулу.
■ Занимание работ у потоков из пула.
■ Прерывание потоков.

В этой главе:
■ Ошибки, связанные с параллелизмом.
■ Поиск ошибок путем тестирования и анализа кода коллегами.
■ Разработка тестов для многопоточных приложений.
■ Тестирование производительности многопоточных приложений.


Рекомендации:

эту книгу рекомендовали 0 пользователей.
Прежде чем рекомендовать книгу, хорошо подумайте. Рекомендация - это высшая оценка, которую вы можете выставить книге. 10 по 5-балльной шкале.

Ким, Хью и Ирен.

Лингвистический анализ текста:
Приблизительно страниц: 630 страниц - очень много (225)
Средняя длина предложения: 162.86 знаков - очень много (80)
Активный словарный запас: очень низкий 933.36 уникальных слова на 3000 слов текста
Доля диалогов в тексте: 0.08% - очень мало (27%)
Подробный анализ текста >>



  [Оглавление]