О курсе
Курс предназначен для программистов, уже владеющих языком 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++ и желающих познакомиться с многопоточным программированием.