# `asyncio` — E/S assíncrona

asyncio é uma biblioteca para escrever código simultâneo usando a sintaxe async/await.

O asyncio é usado como uma base para várias estruturas assíncronas do Python que fornecem rede e servidores web de alto desempenho, bibliotecas de conexão de banco de dados, filas de tarefas distribuídas etc.

asyncio geralmente serve perfeitamente para código de rede estruturado de alto nível e vinculado a E/S.

asyncio fornece um conjunto de APIs de alto nível para:

- executar corrotinas do Python simultaneamente e ter controle total sobre sua execução;

- realizar IPC e E/S de rede;

- controlar subprocessos;

- distribuir tarefas por meio de filas;

- sincronizar código simultâneo;

Além disso, há APIs de baixo nível para desenvolvedores de biblioteca e framework para:

- criar e gerenciar laços de eventos, que fornecem APIs assíncronas para `rede`, execução de `subprocessos`, tratamento de `sinais de sistemas operacionais` etc;

- implementar protocolos eficientes usando transportes;

- fazer uma ponte sobre bibliotecas baseadas em chamadas e codificar com a sintaxe de async/await.

Referência

APIs de alto nível

- Corrotinas e Tarefas
- Streams
- Synchronization Primitives
- Subprocessos
- Filas
- Exceções

APIs de baixo nível

- Laço de Eventos
- Futuros
- Transports and Protocols
- Políticas
- Suporte a plataformas

Guias e tutoriais

- Índice da API de alto nível
- Índice de APIs de baixo nível
- Desenvolvendo com asyncio

Nota

O código-fonte para o asyncio pode ser encontrado em Lib/asyncio/.