
async/await
async-functies, Future-trait, tokio-runtime, async-blokken, .await-syntaxis, Streams, Pin<T>, annulering, executor-patronen
1Wat retourneert een functie die in Rust met het sleutelwoord async is gedeclareerd?
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.
2Wat is de belangrijkste rol van de Future-trait in Rust?
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.
3Waarom is een runtime zoals tokio nodig om async-code in Rust uit te voeren?
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.
Wat is het verschil tussen een async block en een async function in Rust?
Wat gebeurt er wanneer je .await op een Future in Rust gebruikt?
+19 gespreksvragen
Andere Rust-sollicitatieonderwerpen
Rust-basis
Ownership & Borrowing
Structs & Enums
Foutafhandeling
Collecties
Modules & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
Testing
Cargo & Ecosystem
Pattern Matching
Macro's
Serde & serialisatie
Unsafe Rust
Geavanceerde traits
Geavanceerde Lifetimes
Type System
Tokio & Async I/O
Prestatie-optimalisatie
Memory Management
Web Frameworks
Database Integration
Rust Design Patterns
Beheers Rust voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis