Многопроцессность в Python: от новичка до эксперта

Все о многопроцессном программировании на Python в теории и на практике от А до Я. Создание и управление процессами, работа с пулом процессов, межпроцессное взаимодействие. Курс полностью раскрывает тему процессной многозадачности. Победитель 🏆 Stepik Awards 2024 в номинации "Лучший платный курс".
Средний уровень
Часть
3 программ →
Сертификат Stepik

Чему вы научитесь

  • Вы получите комплексное понимание многопроцессного программирования — от основ до архитектурных решений.
  • Вы изучите стратегию выбора инструментов. Научитесь проводить анализ задачи и выбирать оптимальное решение для её реализации: Process, Pool, ProcessPoolExecutor или их комбинацию. Вы поймете фундаментальные различия и области применения модулей multiprocessing, concurrent.futures и threading в реальных проектах.
  • Вы глубоко погрузитесь в процессы и межпроцессное взаимодействие. Освоите полный контроль над созданием, запуском и жизненным циклом процессов. Вы изучите все аспекты межпроцессного взаимодействия: от базовых механизмов с Value, Array и Queue до продвинутых тем, таких как работа с разделяемой памятью через ctypes и struct, а также организация сетевого взаимодействия между удалёнными процессами.
  • Вы научитесь обеспечивать надежность и эффективность. Поймете и научитесь применять механизмы синхронизации, такие как Lock, Semaphore, Event и Barrier, для написания безопасного и предсказуемого кода. Вы освоите стратегии отладки и обработки исключений в параллельном коде. Вы научитесь оптимизировать потребление ресурсов, избегать утечек памяти и эффективно управлять числом процессов.
  • Вы освоите логирование для многопроцессных приложений. Познакомитесь с библиотекой logging, после чего научитесь решать специфические проблемы логирования в параллельных программах. Вы поймете проблемы конкурентного доступа к файлам и особенности наследования логгеров в дочерних процессах. Вы реализуете надёжное и эффективное решение для записи логов из всех процессов в один общий файл с помощью обработчиков QueueHandler и QueueListener.
  • Практика — ключ к успешному обучению! Вы закрепите каждую тему на практических задачах и домашних работах. Итогом курса станет реализация финального проекта по созданию системы для агрегации финансовых данных через API, где вы комплексно примените все изученные техники.

О курсе

Курс является второй частью большой темы реализации многозадачных решений в Python и полностью раскрывает процессную многозадачность.

На курсе Вас ждут:

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

Здесь нет:

  • воды и сгенерированного текста chatGPT;
  • переизбытка задач типа "угадаек";
  • видео уроков. Вся теория подается в текстовом виде. Ссылки на видео только в примечаниях в качестве дополнительного материала;
  • излишне простых задач, которые скучно решать.

Курс позволит освоить сложную тему многопроцессного программирования в максимально сжатый срок. Экономьте свое время - свой самый ценный ресурс!

По мере обновления официальной документации и выхода новых версий Python, этот курс тоже будет обновляться. Разделы по Python 3.14 уже доступны для изучения.

Если у Вас возникли проблемы с оплатой или появились вопросы по курсу, напишите мне пожалуйста в телеграм.

Для кого этот курс

Курс будет полезен: - любопытным учащимся, которые уже прошли базовые курсы по Python и хотят двигаться дальше; - людям, знакомым с теорией многопроцессного программирования, но желающим закрепить её на практических задачах; - студентам, прошедшим похожие курсы по этой теме, но оставшимся недовольными полным отсутствием заданий для закрепления материала. А, как известно, теория без практики быстро вылетает из головы; - разработчикам, которым необходимо повысить производительность своих решений за счет распараллеливания вычислительных задач; - специалистам в области машинного обучения. Многопроцессность позволяет повысить эффективность обучения и нередко используется в специализированных фреймворках. Например, в PyTorch используется модуль torch.multiprocessing.

Начальные требования

Теория и практические задачи курса написаны с расчетом того, что учащиеся знают базовый синтаксис языка python и прошли первую часть курса многозадачности в python, посвященную многопоточному программированию. Тогда курс будет пройти проще. Но если Вы не знакомы с многопоточным программированием - в некоторых уроках придется немного погуглить самостоятельно и, возможно, задать уточняющий вопрос в комментариях.

Наши преподаватели

Как проходит обучение

Обучение включает в себя:

  1. Теорию в виде текста, а также ссылки на материал для дополнительного самостоятельного изучения. Учащийся сам решает "как глубоко ему копать".
  2. Домашние задания для самостоятельной работы. Ведь самое лучшее усвоение знаний происходит при самостоятельной исследовательской работе.
  3. Практические уроки в виде задач с автоматической проверкой кода-решения и различных опросников и угадаек.
  4. Поддержку преподавателя, некоторые сложные задачи решаются авторским рецензированием.
  5. Итоговый учебный проект позволяющий применить новые полученные знания в условиях работы с реальными сервисами на реальных данных.

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

загружаем...
Certificate

Сертификат

Сертификат Stepik

Входит в 3 программы

  •    
     
     
  •    
     
     
  •    
     
     

Что вы получаете

  • Вы получаете возможность закрепить полученную теорию применения библиотек multiprocessing, concurrent.futures, ctypes, struct, array на практических учебных задачах, набить руку.
  • Курс даст и укрепит необходимую базу и подготовит Вас к дальнейшему профессиональному созданию сложных многозадачных решений с использованием многопроцессности.

Сколько стоит обучение

Price: 2 900 
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 2 900