Описание тега python-asyncio
Этот тег должен использоваться для пакета asyncio Python, который предоставляет механизмы для написания однопоточного параллельного кода. Пакет asyncio предоставляет асинхронный ввод-вывод, цикл событий, сопрограммы и задачи, начиная с Python 3.4.
Этот модуль предоставляет инфраструктуру для написания однопоточного параллельного кода с использованием сопрограмм, мультиплексирования доступа ввода-вывода через сокеты и другие ресурсы, запуска сетевых клиентов и серверов и других связанных примитивов. Вот более подробный список содержимого пакета:
- подключаемый цикл событий с различными реализациями для конкретной системы;
- абстракции транспорта и протокола (аналогичные тем, что в Twisted);
- конкретная поддержка TCP, UDP, SSL, каналов подпроцесса, отложенных вызовов и других (некоторые из них могут зависеть от системы);
- а
Future
класс, который имитируетconcurrent.futures
модуль, но адаптированный для использования с циклом событий; - сопрограммы и задачи на основе
yield from
( PEP 380), чтобы помочь писать параллельный код последовательным образом; - поддержка отмены фьючерсов и сопрограмм;
- примитивы синхронизации для использования между сопрограммами в одном потоке, имитирующие примитивы вмодуле потоковой передачи;
- интерфейс для передачи работы пулу потоков в тех случаях, когда вам абсолютно необходимо использовать библиотеку, которая выполняет блокирующие вызовы ввода-вывода.
- Недавно был представлен Python 3.5
async/await
для улучшения модуля для большей читабельности вместоyield from
.