Курс "Python: многопоточность, мультипроцессинг, асинхронное программирование"Код: EDU-Python-11
Продолжительность - 4 дня Производится набор группы
На курсе "Python: многопоточность, мультипроцессинг, асинхронное программирование" слушатели разберут понятия процессов и многозадачности. Рассмотрят возможности и особенности мультипроцессинга, многопоточности и асинхронного программирования. Многозадачность (multitasking) — свойство операционной системы или среды выполнения обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких задач. Существует несколько вариантов выполнения параллельной обработки задач, к ним относятся: Многопоточность (multithreading) — свойство платформы (например, операционной системы, виртуальной машины и т. д.) или приложения, состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно», то есть без предписанного порядка во времени. Мультипроцессинг (multiprocessing) — это подкласс многопроцессорных компьютерных систем, где есть несколько процессоров, на каждом процессоре запускается поток исполнения и одно адресное пространство, видимое для всех процессоров. Асинхронное программирование (asynchronous programming) — концепция программирования, которая заключается в том, что результат выполнения функции доступен не сразу же, а через некоторое время в виде некоторого асинхронного (нарушающего обычный порядок выполнения) вызова. Прослушав данный курс, Вы узнаете:
Научитесь:
Аудитория: Разработчики, кто уже осваивает Python и web-разработку. При выполнении некоторых задач подошли к желанию достичь более эффективного использования ресурсов вычислительной машины. Предварительная подготовка: Уверенное знание основ языка Python. Курсы, рекомендуемые для предварительного прохождения:
Курсы, рекомендуемые для последующего прохождения:
Программа курса1 Процессы и многозадачность 1.1 Основы многозадачности 1.2 Модуль subprocess 1.3 Использование программы Supervisor и для управления процессами 1.4 Использование программы screen для управления процессами 1.5 Потоки выполнения в Python 1.6 Процессы 1.7 Планирование запуска процессов Python 2 Мультипроцессинг 2.1 Модуль multiprocessing 2.2 Запуск двух простых процессов 2.3 Использование Pool и Map 3 Многопоточность 3.1 Основы многопоточности 3.2 Связь между потоками 3.3 Создание пула worker-ов 3.4 Расширенное использование многопоточности 3.5 Остановка потока в цикле событий 3.6 Глобальная блокировка интерпретатора 3.7 Исполнение в нескольких потоках и нескольких процессах 3.8 Совместное использование состояния в нескольких потоках и нескольких процессах 3.9 Преимущество и недостатки потоков 4 Параллельные вычисления 4.1 Использование многопроцессорного модуля для распараллеливания задач 4.2 Использование C-расширения для распараллеливания задач 4.3 Использование родительских и дочерних скриптов для параллельного выполнения кода 4.4 Использование модуля PyPar для распараллеливания 5 Асинхронное программирование 5.1 Основы Asyncio 5.2 Корутины 5.3 Ключевые слова async def 5.4 Ключевое слово await 5.5 Цикл событий. Event loop 5.6 Задачи и функции 5.7 Асинхронные контекстные менеджеры 5.8 Асинхронные итераторы 5.9 Асинхронные генераторы 5.10 Async Comprehensions 5.11 Запуск и выключение 5.12 Использование return_exceptions=True в gather() 5.13 Другие библиотеки и ресурсы · Streams · Twisted · The Janus Queue · aiohttp · ZeroMQ
В конце обучения на курсе проводится итоговая аттестация в виде теста или на основании оценок за практические работы, выполненных в процессе обучения.
Свободно распространяемое программное обеспечение популярно как среди частных лиц, так и среди организаций. Действительно, СПО позволяет серьезно экономить на приобретении лицензий для компаний, которые многократно тиражируют программное решение. Также благодаря тому, что СПО можно квалифицированно дорабатывать собственными силами под конкретные нужды организации, оно приобретает еще и дополнительную гибкость и удобство в использовании. Открытое программное обеспечение — это программное обеспечение с открытым исходным кодом. Исходный код создаваемых программ открыт, то есть доступен для просмотра и изменения. Это позволяет использовать уже созданный код для создания новых версий программ, для исправления ошибок и, возможно, помочь в доработке открытой программы. В конце обучения на курсах проводится итоговая аттестация в виде теста или на основании оценок за практические работы, выполненные в процессе обучения. Учебный центр "Интерфейс" оказывает консалтинговые услуги по построению моделей бизнес-процессов, проектированию информационных систем, разработке структуры баз данных и т.д.
|