Hlavní navigace

Vyšel Rust 1.39 s podporou async/await

Sdílet

klokan
Rust

Překladač jazyka Rust vyšel ve verzi 1.39 s podporou syntaxe pro asynchronní funkce, tj. async a await. Tato je součástí verze jazyka Rust 2018 jako jedna z jeho stěžejních nových vlastností a nyní je poprvé zařazena do stabilního vydání.

Rust modeluje asynchronní volání pomocí typového systému, konkrétně traitu Future, který je součástí stabilní verze už od vydání 1.36. Klíčová slova async/await jsou tedy v Rustu pouhou syntaktickou zkratkou nad příslušnými typy. Na rozdíl od podobné vlastnosti v jazycích, jako je C# a Python, Rust sám o sobě neurčuje sémantiku, jak se konkrétně asynchronní funkce volají a provádějí.

K praktickému použití je tedy nutné přidat tzv. exekutor, což je runtime systém implementující určitou formu asynchronní exekuce. Dva hlavní projekty v tomto směru jsou knihovna async-std, která nabízí kromě vícevláknového exekutoru i asynchronní obdobu IO operací z rustové standardní knihovny, a framework tokio pro asynchronní síťové aplikace. Exekutory lze volit podle potřeb aplikací a je samozřejmě možné jich i v rámci jedné aplikace použít několik různých, podle požadavků jednotlivých asynchronních rutin.

Podpora async/await v Rustu je výsledkem mnohaletého experimentování a vývoje, ale, jak vývojáři sami připomínají, její uvedení do verze překladače 1.39 je pouze prvním krokem neboli minimálním použitelným produktem. Rozšiřování a zrání podpory asynchronního programování napříč rustovým ekosystémem bude pokračovat během následujících měsíců i let.

Tato zprávička byla zaslána čtenářem serveru Root.cz pomocí formuláře Přidat zprávičku. Děkujeme!

Našli jste v článku chybu?
Ochrana proti spamovacím robotům. Odpovězte prosím na následující otázku: Jaký je letos rok?