Přehled modifikátoru Async
Není to tak dlouho, co se aplikace zrychlují jednoduše tak, že si koupíte novější počítač nebo server a tento trend se zastavil. Ve skutečnosti to bylo obrácené. Mobilní telefony se objevily s jednojádrovou čipovou sadou ARM o frekvenci 1 GHz a úlohami serveru, které byly přemísněny na virtuální počítače. Uživatelé stále chtějí responzivní uživatelské rozhraní a vlastníci firmy chtějí servery, které se škálují podle své firmy. Přechod na mobilní a cloudovou a internetovou populaci uživatelů >3B má za následek novou sadu softwarových vzorů.
- U klientských aplikací se očekává, že budou neustále v aplikaci, budou neustále připojené a budou neustále reagovat na interakci uživatelů (například dotykové ovládání) s vysokým hodnocením v obchodě s aplikacemi.
- Očekává se, že služby budou zvládat špičky v provozu elegantním škálováním nahoru a dolů.
Asynchronní programování je klíčová technika, která usnadňuje zpracování blokující V/V operace a souběžných operací na více jádrech. .NET poskytuje aplikacím a službám schopnost reagovat a elasticky díky snadno použitelným asynchronním programovacím modelům na úrovni jazyka v jazyce C#, Visual Basic a F#.
Proč psát asynchronní kód?
Moderní aplikace ve velké části využívají souborové a síťové V/V funkce. Rozhraní API pro V/V tradičně blokují ve výchozím nastavení špatné uživatelské prostředí a využití hardwaru, pokud se nechcete učit a používat náročné vzory. Asynchronní rozhraní API založená na úlohách a asynchronní programovací model na úrovni jazyka invertuje tento model, takže asynchronní spouštění je výchozí s několika novými koncepty, které se naučíte.
Asynchronní kód má následující vlastnosti:
- Zpracovává více požadavků serveru tím, že poskytuje vlákna pro zpracování více požadavků při čekání na vrácení V/V požadavků.
- Umožňuje, aby uživatelské rozhraní reagovalo lépe díky tomu, že při čekání na V/V požadavky a přechodu dlouhotrající práce na jiná jádra procesoru přináší vlákna k interakci s uživatelským rozhraním.
- Mnoho novějších rozhraní .NET API je asynchronních.
- V .NET se snadno píše asynchronní kód.
Co dále?
Další informace najdete v tématu Asynchronní do hloubky.
Téma Vzory asynchronního programování poskytuje přehled tří vzorů asynchronního programování podporovaných v .NET:
Model asynchronního programování (APM) (starší verze)
Asynchronní vzor založený na událostech (EAP) (starší verze)
Asynchronní vzor založený na úlohě (TAP) (doporučeno pro nový vývoj)
Další informace o doporučeném programovacím modelu založeném na úlohách najdete v tématu Asynchronní programování založené na úlohách.