Чему вы научитесь
- Понимать разницу между конкурентностью и параллелизмом, CPU-bound и I/O-bound задачами.
- Разбираться в модели выполнения Python и работе GIL.
- Использовать потоки (threading) и управлять ими безопасно.
- Применять примитивы синхронизации: Lock, Semaphore, Event, Condition.
- Организовывать обмен данными между потоками с помощью Queue.
- Работать с процессами (multiprocessing) и разделять ресурсы через Pipe, Manager, shared_memory.
- Создавать пулы процессов и управлять задачами с map, apply_async.
- Писать асинхронный код с asyncio, использовать async, await, Task, TaskGroup.
- Работать с тайм-аутами, отменой задач и структурированной конкурентностью.
- Выбирать подходящий механизм конкурентности под задачу и проектировать устойчивые системы.
О курсе
Для кого этот курс
Начальные требования
✅ Базовое знание Python: переменные, функции, модули, работа со стандартной библиотекой.
✅ Понимание циклов, условий и обработки ошибок.
✅ Желательно опыт написания простых скриптов или работы с сетевыми/ввод-вывод задачами.
Преподаватели курса
Как проходит обучение
✅ Теория объясняется простым языком и закрепляется практическими примерами.
✅ Каждый модуль содержит интерактивные задачи и тесты.
✅ Возможность обсуждать решения и обмениваться опытом с другими участниками.
✅ По завершении курса вы сможете уверенно писать конкурентный код
Что вы получите
- ✅ Понимание ключевых моделей конкурентности: потоки, процессы, асинхронность.
- ✅ Навыки написания безопасного и эффективного параллельного кода.
- ✅ Освоение threading, multiprocessing и asyncio в реальных сценариях.
- ✅ Умение выбирать правильный подход под задачу (I/O vs CPU).
- ✅ Глубокое понимание работы GIL и производительности Python.
- ✅ Практику, близкую к профессиональной разработке.