В этом разделе вы узнаете о параллельной работе 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










