- Регистрация
- 27 Авг 2018
- Сообщения
- 47,573
- Реакции
- 968,748
- Тема Автор Вы автор данного материала? |
- #1
Голосов: 0
ОПИСАНИЕ:
Курс проведёт вас от основ до эксперта в многопроцессорном программировании.
Курс от двукратного лауреата премии Stepik Awards в престижных номинациях: "Прорыв Года" и "Лучший платный курс". Курс содержит все что вам нужно знать о multiprocessing в python.
Чему вы научитесь
Разбираться в основах многопроцессного и многопроцессорного программирования.
Создавать и управлять процессами с помощью Process, Pool, ProcessPoolExecutor и Manager.
Организовывать обмен данными между процессами с использованием Queue, Pipe, Value, Array и Manager.
Использовать примитивы синхронизации, такие как Lock, Semaphore, Event и Barrier.
Обрабатывать исключения в многопроцессных программах для повышения надёжности.
Применять знания на практике, оптимизируя задачи и ускоряя вычисления.
Находить и устранять ошибки в многопроцессном и многопроцессорном коде.
Экономить ресурсы системы, грамотно распределяя задачи между процессами.
Понимать многозадачность на практике и управлять одновременным выполнением задач.
Работать с большими проектами, применяя многопроцессорный и многопроцессный подходы.
Всё о навыках, которые вы получите, можно узнать в описании содержания курса.
Цель курса
Мы научим вас, как использовать все ядра вашего процессора по максимуму, чтобы ускорять сложные вычисления и прокачивать производительность программ. А ещё вы сможете создавать мощные и масштабируемые приложения, которые легко справляются с большими объёмами данных и реальными нагрузками.
Почему стоит выбрать именно этот курс?
Если вы уже знакомы с основами Python и хотите научиться использовать потенциал современных процессоров, то этот курс именно для вас. Мы предоставляем четкую структуру, реальные примеры, и пошаговые задания, которые помогут вам освоить многопроцессное и многопроцессорное программирование на практике. Все темы объясняются доступно, с упором на прикладное использование. В дополнение к теоретическим знаниям, вы получите обширный практический опыт, который поможет вам сразу применять полученные навыки в своих проектах.
Особенности курса
Практическая ориентация. Вы будете не только изучать теорию, но и выполнять реальные задачи, что поможет закрепить все изученные концепции.
Подробные примеры кода. Каждая тема сопровождается примерами, которые можно повторить, а затем применять в собственных проектах.
Гибкий подход. Учебный материал позволяет вам учиться в своем темпе, возвращаясь к сложным темам, если это необходимо.
Оперативные ответы на вопросы и комментарии. В процессе обучения вы не останетесь без поддержки: преподаватели курса всегда готовы ответить на ваши вопросы и прокомментировать сложные моменты.
Что нужно будет делать?
На протяжении курса вы будете выполнять задания, в которых создадите многопроцессорные приложения, используя:
Примитивы синхронизации, такие как Lock, Semaphore, Event, Barrier и др, для управления процессами и обмена данными между ними.
Очереди и каналы для передачи данных между процессами.
Пул процессов для распределения задач между ядрами процессора.
Менеджеры для организации общего пространства имен и управления ресурсами.
Готовы научиться использовать все ресурсы процессора?
Записывайтесь на курс и начните улучшать производительность своих программ уже сегодня!
Программа курса
Введение
Основы модуля multiprocessing
Возврат данных из процесса
Примитивы синхронизации
Убийство процессов
Менеджеры
Пул процессов ProcessPoolExecutor
Пул процессов multiprocessing.Pool
Продвинутый уровень
Практика
Спойлер:
Подробно:
Программа курса
Введение
Содержание курса
Введение
Процессы и потоки
Глобальная блокировка интерпретатора GIL
Многозадачность в Python
Мультипроцессинг против многопоточности
Мультипроцессорное программирование в Python
Основы модуля multiprocessing
Главный процесс
Дочерние процессы
Взаимодействие главного и дочерних процессов.
Главный поток процесса
Получение процесса по имени
Как получить PID процесса
Получение количества ядер процессора
Статус и характеристики процесса
Как перезапустить процесс
Метод join()
Идиома if __name__ == ‘__main__’
Возврат данных из процесса
Возвращаем значение из процесса
multiprocessing.Value
multiprocessing.Array
multiprocessing.Pipe
multiprocessing.Pipe. Практика
multiprocessing.Queue
multiprocessing.SimpleQueue
multiprocessing.JoinableQueue
Примитивы синхронизации
Примитивы синхронизации
Многопроцессорный Lock
Многопроцессорный RLock
Многопроцессорный Event
Многопроцессорный Semaphore
Многопроцессорная переменная Condition
Многопроцессорный Barrier
Убийство процессов
Остановка главного процесса дочерним
Убийство или завершение процесса
Убить процесс по PID
Как безопасно убить или завершить процесс
Завершение текущего процесса
Менеджеры
Что такое Manager
Менеджер с примитивами синхронизации и очередями
Общее пространство имен с помощью менеджера
Пользовательские менеджеры
Серверный процесс менеджера
Вложенные прокси-объекты у менеджера
Пул процессов ProcessPoolExecutor
Знакомство с пулом процессов
Отправка задач в пул процессов
Возможности объекта Future
Ожидание завершения задач, ч1
Ожидание завершения задач, ч2
Как добавить callback к задаче в ProcessPoolExecutor
map() против submit()
Настройка пула процессов
Обработка исключений при работе с пулом процессов
Примитивы синхронизации с пулом процессов
Как повторно выполнить неудачные задачи в ProcessPoolExecutor
Как работает ProcessPoolExecutor
Пул процессов multiprocessing.Pool
Пул процессов multiprocessing.Pool
Блокирующее выполнение одиночной задачи
Неблокирующее выполнение одиночной задачи
Блокирующая отправка группы задач в пул
Неблокирующая отправка группы задач в пул
Итеративная обработка задач
Какой метод выбрать?
Продвинутый уровень
Пользовательские процессы
Иерархия процессов и задач
Почему не стоит использовать только процессы?
Потоки в процессах
Рекомендации и предостережения
Практика
Решаем задачи
В курс входят
69 уроков / 397 тестов / 116 интерактивных задач
ПРОДАЖНИК:
СКАЧАТЬ: