🦀 rust.hu
← összes téma

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

  1. Future és a poll modell

    Mi történik egy async függvény meghívásakor?

    tovább →
  2. Async/await szintaxis

    Az első aszinkron vezérlési folyamat.

    tovább →
  3. Taskok indítása és bevárása

    tokio::spawn, JoinHandle és hibák.

    tovább →
  4. Kommunikáció csatornákkal

    mpsc és oneshot használata megosztott módosítható állapot helyett.

    tovább →

Kapcsolódó cikkek

Kék és szürke Ethernet-kábelek egy számozott hálózati patchpanelen.
Async•12 perc•okt 12.

Csatornák a gyakorlatban: mpsc, oneshot és broadcast a Tokio-ban

Színes forráskód egy laptop sötét kijelzőjén, ferde közeli nézetből.
Async•13 perc•okt 7.

Aszinkron hibakezelés Rustban: Result, ? operátor és taskok összeomlása

Homokóra világos háttér előtt.
Async•10 perc•szept 16.

Timeout és megszakítás kezelése async Rust alkalmazásokban

Kék és szürke Ethernet-kábelek egy számozott hálózati patchpanelen.
Async•10 perc•szept 10.

Csatornák Rustban: mpsc, oneshot és broadcast a gyakorlatban

Kanyarodó többsávos út hosszú expozíciós fénycsíkokkal alkonyatkor, hegyes háttérrel.
Async•11 perc•aug 18.

Async/await Rustban: a nulláról az első feladatig

Kék és szürke Ethernet-kábelek egy számozott hálózati patchpanelen.
Async•12 perc•júl 27.

Mi történik a motorháztető alatt: a Tokio runtime belső felépítése