Курсы C/C++
Общая информация Расписание и стоимость
Условия обучения
Проведение занятий Преподаватели Учебные материалы Документы об окончании Отзывы слушателей

Другие курсы

Курсы C++ Курсы Java Курсы C# (.NET) Курсы Microsoft C# (.NET) Программирование Android Курсы Web-технологий Программирование Linux Тестирование ПО Программирование микроконтроллеров

Обратная связь

+7 (812) 703-02-02 Форум
Печать

DEV-C23. Параллельное программирование на С++ (Стандарт С++11, С++14, С++17)


График обучения: 3 дня по 8 ак.ч. или 6 дней по 4 ак.ч.

Начало занятий:

    16.10.2017, 1400

Записаться на курс

Аннотация

В наши дни компьютеры с несколькими многоядерными процессорами стали нормой, соответственно повысился интерес к разработке параллельных программ. Стандарт C++11 (C++14, C++17) языка C++ предоставляет прикладному программисту средства для разработки многопоточных приложений. Эти средства (набор функций и классов) не зависят от платформы и ОС, тем самым обеспечивая портируемость приложений.

Целью данного курса является освоение принципов и приемов параллельного программирования, а также овладение новыми средствами языка для запуска потоков, организации их взаимодействия и синхронизации.

Документы об окончании обучения

  • Удостоверение о повышении квалификации
    Удостоверение о повышении квалификации
  • Сертификат учебного центра
    Сертификат учебного центра

Преподаватели

Знания и умения, полученные в результате обучения

После окончания обучения программист сможет:

  • распараллеливать задачи посредством новой многопоточной составляющей стандартной библиотеки;
  • использовать возможности новой составляющей стандартной библиотеки chrono для манипулирования интервалами и моментами времени;
  • запускать потоки как синхронно, так и асинхронно;
  • синхронизировать выполнение потоков;
  • обеспечивать взаимодействие потоков;
  • в родительском потоке обрабатывать исключения, сгенерированные дочерним потоком;
  • иметь представление о модели памяти С++;
  • освоить приемы программирования без блокировок.

Расписание

Начало курса Окончание курса Даты занятий Время занятий Номер аудитории Преподаватель
16.10.2017 27.10.2017 16.10.2017
Понедельник
1400-1720
Аудитория №232 Полубенцева Марина Игоревна Записаться на курс
18.10.2017
Среда
1400-1720
Аудитория №232 Полубенцева Марина Игоревна
20.10.2017
Пятница
1400-1720
Аудитория №232 Полубенцева Марина Игоревна
23.10.2017
Понедельник
1400-1720
Аудитория №232 Полубенцева Марина Игоревна
25.10.2017
Среда
1400-1720
Аудитория №232 Полубенцева Марина Игоревна
27.10.2017
Пятница
1400-1720
Аудитория №232 Полубенцева Марина Игоревна

Стоимость

Дата Физ. лица, руб. Юр. лица, руб.
Без скидки Cкидка 10%* Cкидка 15%** Без скидки Cкидка 10% Cкидка 15%
Цена c 28.07.2015 12000 10800 10200 16000 14400 13600

*Скидка 10% для ранее обучавшихся, при одновременной оплате 2х курсов, а также по акциям.
**Скидка 15% при одновременной оплате 3х и более курсов.
Примечание. Студентам ВУЗов Санкт-Петербурга очной формы обучения скидка до 25%.
Скидки не предоставляется на курсы с дистанционной формой обучения.
Скидки не предоставляется на комплексные и модульные программы обучения.

Требования к начальному уровню знаний

  • Уверенное манипулирование классами;
  • Владение приемами обобщенного программирования (templates);
  • Использование нововведений, добавленных в ядро языка и стандартную библиотеку согласно стандарту С++11, С++14, С++17 (шаблонами с переменным числом параметров, лямбда функциями, и т.д.).

Курсы, обеспечивающие достаточный начальный уровень знаний:

Программа курса

Тема 1. Введение в параллельное программирование.

  • Парадигмы параллельного программирования.
  • Проблемы параллельного программирования.

Тема 2. Библиотека CHRONO.

  • Моменты времени.
  • Интервалы времени.

Тема 3. Низкоуровневые средства запуска потоков.

  • Запуск потока посредством объекта std::thread.
  • Ожидание завершения потока.
  • Запуск обособленных потоков.
  • Пространство имен this_thread.

Тема 4. Обработка межпоточных исключений.

  • Проблемы обработки межпоточных исключений.
  • Средства для обработки межпоточных исключений.

Тема 5. Синхронизация задач. Мьютексы.

  • Проблемы конкурентного программирования.
  • Классы поддержки мьютексов.

Тема 6. Высокоуровневые средства запуска и взаимодействия потоков.

  • Синхронный и асинхронный запуск потоков.
  • Обработка результата выполнения потока.
  • Обработка исключений, сгенерированных потоком.

Тема 7. Синхронизация задач. Условные переменные.

  • Условные переменные.

Тема 8. Модель памяти С++ 11.

  • Проблемы конкурентного программирования.
  • Понятие модели памяти С++11.
  • Средства для управления моделью памяти.

Тема 9. Программирование без блокировок.

  • Порядок исполнения.
  • Барьеры.
  • Средства принудительного упорядочения кода.
  • Виды принудительного упорядочения.

Тема 10. Локальная память потока (TLS).

  • Проблемы разделения данных потоками.
  • Спецификатор класса хранения thread_local.