Описание тега 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.