
Async Rust förklarat: futures, tasks och runtimes
Asynkron programmering i Rust förvirrar många nykomlingar. Nyckeln är att förstå att en future inte gör någonting förrän den pollas – Rust bygger på lat evaluer...
Asynkron programmering i Rust förvirrar många nykomlingar. Nyckeln är att förstå att en future inte gör någonting förrän den pollas – Rust bygger på lat evaluering, till skillnad från JavaScripts ivriga promises.
Runtimen, oftast Tokio, ansvarar för att schemalägga tasks över trådar. Det förklarar också de ökända Send-felen: din data måste kunna flytta mellan trådar säkert.
Vårt tips: börja med enkla async fn och tokio::spawn, och undvik att blanda blocking-kod i async-kontexter – det är källan till de flesta prestandaproblem.