Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

323
Visualizações
Python asyncio: ¿cómo se programan las tareas?

Soy nuevo en Python asyncio y estoy haciendo algunos experimentos. Tengo el siguiente código:

 async def say_after(n, s): await asyncio.sleep(n) print(s) async def main(): task1 = asyncio.create_task(say_after(2, 'a')) task2 = asyncio.create_task(say_after(1, 'b')) await task1 print('x', flush=True) await task2 print('y', flush=True) asyncio.run(main())

Y la salida:

 b a x y

No entiendo el orden aquí. ¿Alguien puede ayudar a explicar? ¿Especialmente por qué x viene después de b y a?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

¿Especialmente por qué x viene después de b y a?

b se imprime en task2 aproximadamente 1 segundo después del inicio de main , y a se imprime en task1 aproximadamente 2 segundos después del inicio de main . El await task1 espera a task1 , por lo que espera unos 2 segundos. Entonces, para cuando await task1 de la tarea 1, tanto b como a se habrán impreso.

(Los "acerca de" en lo anterior son deliberados... habría variaciones, pero en la mayoría de las situaciones, serían pequeñas)

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda