В этом разделе вы узнаете о параллельной работе Python, включая многопоточность, многопроцессорность и асинхронное программирование, с нуля.
Что вы узнаете:
-
- < li>Создайте высокопроизводительную & адаптивные приложения Python с использованием методов параллелизма.
- Разработка многопоточных приложений с использованием многопоточности.
- Разработка программы, которая обрабатывает задачи параллельно.
- Понимание модели однопоточного параллелизма. .
Раздел 1. Многопоточность
В этом разделе вы получите хорошее представление о процессах и потоках, а также о том, как разрабатывать многопоточные программы.
- Понимание процессов и потоков – поможет вам понять процессы и потоки, а также основные различия между ними.
- Потоки – покажет вам, как использовать модуль потоков для разработки многопоточного приложения.
- Расширение класса Thread – узнайте, как расширить класс Thread для запуска нескольких потоков в программе.
- Возврат значений из потока – покажет вам, как возвращать значения из потока, расширяя класс Thread.
- Пример многопоточности – создайте многопоточную программу, которая отслеживает цены на акции.
- Потоки демона – узнайте о потоках демонов.
- Пулы потоков – поможет вам эффективно управлять несколькими потоками с помощью пула потоков.
Раздел 2. Методы синхронизации потоков
В этом разделе вы познакомитесь с различными методами синхронизации между потоками с использованием блокировки, событий, потокобезопасной очереди и семафора.
- Lock – покажет вам, как использовать объект блокировки для безопасного управления доступом к общей переменной из нескольких потоков.
- Событие – узнайте, как использовать событие потоковой передачи для связи между потоками.
- Как остановить поток – узнайте, как остановить дочерний поток из основного.
- Семафор – объяснить концепцию семафора и то, как использовать объект Semaphore для ограничения количества потоков, которые могут одновременно обращаться к общему ресурсу.
Раздел 3. Совместное использование данных Между потоками
В этом разделе вы узнаете о различных методах обмена данными между потоками.
- Потокобезопасная очередь – покажет вам, как использовать потокобезопасную очередь для безопасного обмена данными между несколькими потоками.
Раздел 4. Многопроцессорная обработка
В этом разделе вы узнаете, как использовать пакет многопроцессорности для разработки программ, выполняющих задачи параллельно.
- Многопроцессорность – покажет вам, как параллельно запускать код с помощью модуля многопроцессорности.
- Пулы процессов – узнайте, как более эффективно управлять процессами с помощью пула процессов.
Раздел 5. Асинхронный ввод-вывод
В этом разделе , вы узнаете, как использовать параллелизм, предоставляемый пакетом asyncio, для повышения производительности, пропускной способности и скорости реагирования программы.
- Понимание цикла событий – объясните, как работает цикл событий и как пакет asyncio использует цикл событий для достижения модели однопоточного параллелизма.
- async/await – познакомим вас с сопрограммами и с тем, как использовать ключевые слова async и await для определения и приостановки сопрограмм.
- Создание задач – узнайте, как создавать задачи и планировать их запуск в цикле событий.
- Отмена задач – покажет вам, как отменить задачу с помощью метода cancel() объекта Task.
- Отмена задачи по истечении времени ожидания – покажет вам, как использовать функцию asyncio.wait_for() для отмены задачи по тайм-ауту.
- asyncio.wait() – узнайте о функции asyncio.wait() для одновременного запуска итерации ожидаемых объектов.
- Будущее – объясните вам объект Future и ожидаемые объекты.
- Одновременное выполнение нескольких задач с помощью метода сбора() – запускайте список задач одновременно с функцией asyncio.gather().
TAG: QA, python