О курсе

Курс предназначен для программистов, уже владеющих языком C++, и знакомит с возможностями многопоточного программирования. В программе последовательно разбираются темы от основ работы процессоров и многопоточности до практического применения. Первый модуль посвящён аппаратным аспектам многопоточности. Далее рассматриваются базовые средства многопоточности в стандартной библиотеке C++ (STL), включая создание потоков и элементарную синхронизацию с помощью thread_local и atomic. Отдельные модули посвящены мьютексам (mutex) и условным переменным (conditional variables), а также механизмам future и promise для асинхронных операций. Завершающие модули охватывают подходы к организации пулов потоков и включают практическую работу по написанию многопоточного приложения или алгоритма. Курс рассчитан на 16 академических часов.

Что рассматривается в программе

  • Программирование многопоточных приложений на C++
  • Использование базовых средств многопоточности в STL
  • Применение thread_local и atomic для синхронизации
  • Работа с мьютексами (mutex)
  • Использование условных переменных (conditional variables)
  • Организация асинхронных операций с future и promise
  • Проектирование пулов потоков
  • Написание многопоточных алгоритмов

Кому может быть полезен курс

  • Программистам на C++, желающим освоить многопоточное программирование
  • Разработчикам, которым необходимо разобраться в проблемах синхронизации и их решениях
  • Специалистам, интересующимся современными возможностями C++ для параллельных вычислений

Вопросы о программе

Какие темы охватывает курс?

Курс охватывает процессоры и многопоточность, базовую многопоточность в STL C++, синхронизацию с thread_local и atomic, мьютексы, условные переменные, future и promise, а также подходы к организации пулов потоков.

Есть ли практическая часть?

Да, в программе предусмотрена практическая работа по написанию многопоточного приложения или алгоритма с использованием C++ (модуль 8).

Какова длительность курса?

Общая длительность курса составляет 16 академических часов, распределённых по 8 модулям.

Для кого предназначен курс?

Курс рассчитан на программистов, уже имеющих знания и навыки языка C++ и желающих познакомиться с многопоточным программированием.