Rust

async/await

async-functies, Future-trait, tokio-runtime, async-blokken, .await-syntaxis, Streams, Pin<T>, annulering, executor-patronen

22 gespreksvragen·
Mid-Level
1

Wat retourneert een functie die in Rust met het sleutelwoord async is gedeclareerd?

Antwoord

Een async-functie retourneert automatisch een type dat de Future-trait implementeert. De compiler zet de functie-body om in een toestandsmachine die Future implementeert. De retourwaarde wordt niet onmiddellijk berekend: deze wordt pas berekend wanneer de Future met .await wordt afgewacht of door een runtime wordt uitgevoerd.

2

Wat is de belangrijkste rol van de Future-trait in Rust?

Antwoord

De Future-trait vertegenwoordigt een asynchrone berekening die mogelijk nog niet voltooid is. De poll-methode stelt de executor in staat te controleren of de Future klaar is (Poll::Ready) of moet wachten (Poll::Pending). Dit is het fundamentele mechanisme van asynchroniciteit in Rust en maakt een niet-blokkerende en efficiënte uitvoering mogelijk.

3

Waarom is een runtime zoals tokio nodig om async-code in Rust uit te voeren?

Antwoord

Rust bevat geen asynchrone runtime in zijn standaardbibliotheek om de taal minimaal te houden en de keuze van de runtime op basis van de behoeften mogelijk te maken. Een runtime zoals tokio levert de executor die Futures pollt, de scheduler om taken te beheren en asynchrone I/O. Zonder runtime zouden Futures nooit worden uitgevoerd.

4

Wat is het verschil tussen een async block en een async function in Rust?

5

Wat gebeurt er wanneer je .await op een Future in Rust gebruikt?

+19 gespreksvragen

Beheers Rust voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis