Přejít k hlavnímu obsahu
🔒 Režim náhledu. Prvních patnáct lekcí Foundations je zdarma; tato je Pro. Spusťte 7denní trial pro odemčení editoru, AI nápověd a zbytku kurzu. Karta vyžadována, zrušte kdykoli v Dashboard.Spustit 7denní trial →
← KurzySenior Deep-DivesModule 1 · Concurrency internals · Recapasyncio.TaskGroup (Python 3.11+) vspredict24 / 161
+125 XP
Úkol
📝 **Otázka:** Předpovězte přesný výkon. Tři úkoly začínají společně: A skončí v t=0,01, B zvýší ValueError v t=0,05, C skončí v t=0,10. Co se stane s C, když B zvýší? Kolik výjimek se nachází ve skupině \`kromě*\`? 📋 Vyberte správnou odpověď. 💡 **Tip:** Pokud si nejste jisti, přečtěte si znovu teorii výše.
Předpověz výstup

Přečti kód pozorně

import asyncio


async def task(name, delay, fail=False):
    await asyncio.sleep(delay)
    if fail:
        print(f"raise:{name}")
        raise ValueError(name)
    print(f"done:{name}")


async def main():
    try:
        async with asyncio.TaskGroup() as tg:
            tg.create_task(task("A", 0.01))
            tg.create_task(task("B", 0.05, fail=True))
            tg.create_task(task("C", 0.10))
    except* ValueError as eg:
        print(f"caught:{len(eg.exceptions)}")
    print("after")


asyncio.run(main())

Co program vypíše? Napiš sem:

💬 Diskuze

Buď první — polož otázku nebo se podělej o tip.
Přihlas se abys se zapojil do diskuze. Čtení je zdarma.
Načítání diskuze…