Vai al contenuto principale
🔒 Modalità anteprima. Le prime quindici lezioni di Foundations sono gratuite; questa è Pro. Avvia un trial di 7 giorni per sbloccare l'editor, i suggerimenti AI e il resto del programma. Carta richiesta, disdici in qualsiasi momento dalla Dashboard.Avvia trial di 7 giorni →
← CorsiSenior Deep-DivesModulo 1 · Concorrenza e aspetti interni asincroniasyncio: approfondimento del ciclo di eventipredict3 / 161
+100 XP
Compito
📝 **Compito:** Prevedere l'interleave di 5 righe da `asyncio.gather(fetch('A', 1), fetch('B', 2))`. Entrambi i recuperi stampano prima "NOME iniziale", poi "NOME completato" dopo l'attesa e la raccolta stampa l'elenco dei risultati per ultimo. 📋 Implementa la funzione sopra. I test vengono eseguiti automaticamente. 💡 **Suggerimento:** Rileggi la teoria se rimani bloccato.
Predici output

Leggi il codice attentamente

import asyncio

async def fetch(name, delay):
    print(f"start {name}")
    await asyncio.sleep(delay)
    print(f"done {name}")
    return name

async def main():
    results = await asyncio.gather(
        fetch("A", 1),   # sleeps 1 s
        fetch("B", 2),   # sleeps 2 s
    )
    print(results)

asyncio.run(main())

# What does this print? Type your prediction.
# Hint: both fetches enter immediately (gather schedules them
# together). A finishes first (shorter sleep). The list at the end
# matches the ORDER the tasks were passed to gather, NOT the
# completion order.

Cosa stamperà il programma? Scrivi qui:

💬 Discussione

Sii il primo a fare una domanda o condividere un consiglio.
Accedi per partecipare alla discussione. La lettura è gratuita.
Caricamento discussione…