Guia para concorrência e async em Python

Prompt gerado automaticamente para Concorrência e async em Python

5.0
41 usos
ChatGPT
Usar no ChatGPT
"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

Como Usar este Prompt

1

Clique no botão "Copiar Prompt" para copiar o conteúdo completo.

2

Abra sua ferramenta de IA de preferência (ChatGPT e etc.).

3

Cole o prompt e substitua as variáveis (se houver) com suas informações.

Compartilhe

Gostou deste prompt? Ajude outras pessoas a encontrá-lo!

Outros prompts de Python

Continue explorando prompts nesta categoria.

Melhores práticas de code optimization para Python

Prompt gerado automaticamente para Code optimization em Python

Guia para package management em Python

Prompt gerado automaticamente para Package management em Python

Guia para data analysis com pandas em Python

Prompt gerado automaticamente para Data analysis com Pandas em Python