Úkol asynchronní programování

2. Grafická nápověda

Princip asynchronního programování

Uživatel odešle požadavky. Aplikace okamžitě spustí dva nezávislé procesy (levý a pravý sloupec) a ihned uvolní uživatelské rozhraní, takže můžete dál pracovat.

Oba bloky běží vedle sebe - Systém nečeká, až se dopeče Šunková, aby začal péct Sýrovou. Pečou se obě najednou, každá ve svém vlastním čase.


Logika aplikace

Po kliknutí na tlačítko se kód vykonává běžným způsobem – vytvoří se objekt Objednavka a vloží se do seznamu. Toto se děje okamžitě, uživatel tedy ihned vidí novou pizzu ve stavu 'Čeká'.

Jakmile program narazí na první příkaz await, metoda se rozdělí. Část vlevo (přerušovaná čára) okamžitě vrátí kontrolu uživatelskému rozhraní, takže aplikace nezamrzne. Část vpravo pokračuje jako samostatná úloha (Task).

Samotné čekání Task.Delay (simulace pečení) probíhá na pozadí. Když časovač doběhne, kód se 'probudí', změní stav pizzy (zelené bloky) a vynutí překreslení obrazovky, aby uživatel viděl aktuální stav."