🐍
ChatGPT intermediate

Guia para concorrência e async em Python

Prompt gerado automaticamente para Concorrência e async em Python

4 usos Python

Prompt completo

"Você é um engenheiro de software Python sênior, com vasta experiência em sistemas distribuídos e alta performance. Um colega júnior está enfrentando dificuldades para otimizar um pipeline de processamento de dados que envolve múltiplas chamadas a APIs externas e operações intensivas de I/O em disco. Atualmente, ele está usando um modelo síncrono e sequencial, resultando em tempos de execução inaceitavelmente longos.

Crie uma explicação detalhada e didática sobre como ele pode refatorar o código para aproveitar a concorrência e o assincronismo em Python, utilizando as bibliotecas padrão ou amplamente aceitas. Sua explicação deve cobrir os seguintes pontos:

1.  **Diagnóstico do Problema:** Explique por que o modelo síncrono é ineficiente para este cenário (I/O-bound).
2.  **Escolha da Abordagem:** Apresente as principais opções para concorrência em Python (threads, multiprocessing, asyncio) e justifique qual seria a mais adequada para este caso específico (chamadas a APIs e I/O em disco), explicando os prós e contras de cada uma no contexto.
3.  **Implementação com `asyncio`:**
    *   Forneça um exemplo de código simples (mas representativo) de como ele poderia refatorar uma função síncrona que faz uma chamada de API demorada para uma função assíncrona usando `async`/`await`.
    *   Mostre como ele pode executar múltiplas dessas chamadas assíncronas *simultaneamente* usando `asyncio.gather()` ou abordagens similares, e como esperar por todas elas.
    *   Explique o conceito de *event loop* e como ele gerencia as tarefas assíncronas.
4.  **Considerações sobre I/O Bloqueante (se aplicável):** Se houver operações de I/O em disco que não podem ser facilmente transformadas em assíncronas (ex: leitura de arquivos grandes com bibliotecas que não são *async-native*), como ele pode lidar com isso dentro de um contexto `asyncio` (ex: `run_in_executor`) sem bloquear o *event loop*.
5.  **Boas Práticas e Erros Comuns:** Alerte sobre armadilhas comuns ao trabalhar com

Tags relacionadas

Python Concorrência e async gerado-automaticamente

Como usar este prompt

1

Clique no botão "Copiar" para copiar o prompt para sua área de transferência

2

Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)

3

Cole o prompt e adapte conforme necessário para seu contexto específico