Async

Async Rust förklarat: futures, tasks och runtimes

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.