Async Rust és Tokio tanulási útmutató
Future, async/await, Tokio taskok és csatornák: rendezett tanulási sorrend a párhuzamos Rust alkalmazásokhoz.
Az async Rust elsősorban arról szól, hogyan kezelj sok várakozó műveletet kevés végrehajtó szálon. Egy async függvény meghívása Future-t készít; a tényleges előrehaladáshoz pollolás, rendszerint egy runtime szükséges. Ettől a CPU-igényes kód nem lesz automatikusan gyorsabb, és a blokkoló művelet továbbra is megakaszthatja a végrehajtót.
A tanulást a Future fogalmával és az async/await szintaxissal kezdd, majd nézd meg a taskok indítását és bevárását. Csak ezután következzen a csatornák és a megosztott állapot használata. Így a bonyolultabb hibák is értelmezhetők: egy task hibáját ki kapja meg, meddig él a küldő, és mi történik, ha a fogadó eltűnik.
A működő párhuzamossághoz a leállítás és a túlterhelés kezelése is hozzátartozik. Minden háttérfeladathoz legyen felelős tulajdonos, minden várakozáshoz világos megszakítási döntés, és minden sorhoz indokolt kapacitás. A példák kipróbálásakor ne csak a sikeres választ, hanem a hibát és a lezárást is figyeld meg.
Ajánlott tanulási sorrend
Future és a poll modell
Mi történik egy async függvény meghívásakor?
tovább →Async/await szintaxis
Az első aszinkron vezérlési folyamat.
tovább →Taskok indítása és bevárása
tokio::spawn, JoinHandle és hibák.
tovább →Kommunikáció csatornákkal
mpsc és oneshot használata megosztott módosítható állapot helyett.
tovább →



