ЗАКАЗАТЬ ЗВОНОК
Центр
системно-инженерных компетенций
Необходимые для зачисления в группу документы: паспорт, СНИЛС, диплом о высшем или среднем специальном образовании, заключенный договор об образовании.
60 000 руб.
Стоимость:
4 дня (32 академических часа).
Длительность:
г. Москва, Ленинградский просп., 68/24;
Место проведения:
11 августа 2025
Дата проведения:

Python: многопоточность, мультипроцессинг, асинхронное программирование

На курсе слушатели разберут понятия процессов и многозадачности. Рассмотрят возможности и особенности мультипроцессинга, многопоточности и асинхронного программирования.

Многозадачность (multitasking) — свойство операционной системы или среды выполнения обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких задач. Существует несколько вариантов выполнения параллельной обработки задач, к ним относятся:

Многопоточность (multithreading) — свойство платформы (например, операционной системы, виртуальной машины и т. д.) или приложения, состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно», то есть без предписанного порядка во времени.

Мультипроцессинг (multiprocessing) — применение многопроцессности при написании приложений. Этот приём, направленный на формализацию и минимизацию общения между процессами: чем меньше процессы обращаются к данным друг друга, тем ниже вероятность ошибки за счёт одновременного доступа к памяти друг друга. Процессы будут лучшим выбором, если для решения задачи потребуется задействовать несколько процессоров.

Асинхронное программирование (asynchronous programming) — концепция программирования, которая заключается в том, что результат выполнения функции доступен не сразу же, а через некоторое время в виде некоторого асинхронного (нарушающего обычный порядок выполнения) вызова.
Описание курса
Разработчики, кто уже осваивает Python и web-разработку. При выполнении некоторых задач подошли к желанию достичь более эффективного использования ресурсов вычислительной машины.
Целевая аудитория
11.08.2025
Расписание открытых форматов курса
Дистанционный формат — 60 000 ₽.
Очный формат — 60 000 ₽.
Стоимость обучения одного слушателя
что такое многозадачность;
что такое мультипроцессинг;
что такое многопоточность;
какие есть особенности потоков;
как использовать модули для распараллеливания задач;
что такое асинхронное программирование и его особенности;
как использовать цикл событий;
какие есть библиотеки и ресурсы асинхронного программирования
Узнаете
основам многозадачности;
использовать модуль subprocess;
использовать screen для управления процессами;
использовать модуль multiprocessing;
основам многопоточности;
осуществлять связь между потоками;
работать с модулем Asyncio;
использовать ключевые слова async def и await
Научитесь
В результате освоения курса вы:
Основная информация
11 августа 2025
пн–чт 10:00–17:00
60 000руб.
м. Аэропорт,
Ленинградский проспект 68/24
Верхотуров Марк Валерьевич
Беляев Александр Владимирович
Консультация
Порядок записи на курс
Выбор курса
Заключение договора
Оплата обучения.
очно (до 15 слушателей);
дистанционно в составе очной группы (без ограничения числа подключений);
корпоративный формат (для групп от 10 до 15 слушателей).
Возможные форматы обучения и размеры групп
1 Конкурентность, параллелизм и многозадачность

1.1 Конкурентность
1.2 Параллелизм
1.3 Многозадачность
1.4 Процессы, потоки, многопоточность и многопроцессность
1.5 Глобальная блокировка интерпретатора, GIL
1.6 Однопоточная конкурентность
1.7 Работа цикла событий

2 Мультипроцессинг

2.1 Среда программирования и консоль выполнения программы и модуль multiprocessing
2.2 Управление процессами вручную. Класс Process
2.3 Автоматическое управление процессами. Класс Pool
2.4 Примеры решения заданий

3 Многопоточность

3.1 Основы многопоточности.
3.2 Потоки и процессы
3.3 Поддержка потоков в языке Python
3.4 Модуль thread
3.5 Модуль threading
3.6 Сравнение однопоточного и многопоточного выполнения
3.7 Практическое применение многопоточной обработки
3.8 Проблема “производитель–потребитель” и модуль Queue/queue
3.9 Дополнительные сведения об использовании потоков
3.10 Связанные модули

4 Асинхронное программирование

4.1 Создание сопрограмм и приостановка выполнения
4.2 Конкурентное выполнение с помощью задач
4.3 Снятие задач, задание и снятие тайм-аутов
4.4 Задачи, сопрограммы, будущие объекты и объекты, допускающие ожидание
4.5 Анализ времени выполнения сопрограммы с помощью декораторов
4.6 Управление циклом событий
4.7 Режим отладки
4.8 Разработка приложений asyncio

4.8.1 Блокирующий сокеты
4.8.2 Подключение к серверу с помощью telnet
4.8.3 Работа с неблокирующими сокетами
4.8.4 Модуль selectors для построения цикла событий сокетов
4.8.5 Эхо-сервер средствами цикла событий asyncio
4.8.6 Корректная остановка

4.9 Конкурентные веб-запросы

4.9.1 Введение в aiohttp
4.9.2 Асинхронные контекстные менеджеры
4.9.3 Конкурентное выполнение запросов с помощью gather
4.9.4 Обработка поступивших результатов
4.9.5 Контроль с помощью wait
Подробная программа курса
Удостоверение о повышении квалификации
Документы об окончании
Ответы на часто задаваемые вопросы
Требуемый уровень предварительной подготовки
Уверенное знание основ языка Python.
Руководитель IT проектов, Разработчик Python, Data Scientist, ML-engineer

Верхотуров Марк Валерьевич

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

Специализация
Должность
Дополнительные услуги

Тренер курса

Ведёт 13 курсов в ЦЕСИНКОМ
Разработчик информационных систем, системный аналитик, аналитик данных

Беляев Александр Владимирович

Разработка на Python
Машинное обучение
Математическая оптимизация
Консалтинг

Специализация
Должность
Дополнительные услуги

Тренер курса

Ведёт 19 курсов в ЦЕСИНКОМ
Разработка курса или траектории обучения под вашу задачу
Центр готов взять на себя разработку курсов и траекторий обучения под уже сформированную модель компетенций или просто под список знаний и навыков, которые нужно освоить специалистам организации.