
Tokio & Async I/O
Tokio runtime, async tasks, select!, join!, timeout, tokio::spawn, async bestand-/netwerk-I/O
1Wat is de belangrijkste rol van de Tokio-runtime in een asynchrone Rust-applicatie?
Wat is de belangrijkste rol van de Tokio-runtime in een asynchrone Rust-applicatie?
Antwoord
De Tokio-runtime levert een executor die futures pollt tot ze voltooid zijn. Het beheert ook een multi-threaded scheduler (standaard) om taken over meerdere OS-threads te verdelen, plus een reactor voor asynchrone I/O-bewerkingen. Zonder runtime doen Rust-futures niets, omdat ze standaard lazy zijn.
2Hoe initialiseer je de Tokio-runtime met de #[tokio::main]-macro?
Hoe initialiseer je de Tokio-runtime met de #[tokio::main]-macro?
Antwoord
De #[tokio::main]-macro transformeert een async main()-functie in een synchroon entry point dat een multi-threaded Tokio-runtime aanmaakt en de async-functie uitvoert. Deze macro genereert automatisch de boilerplate die nodig is om de runtime te maken en te blokkeren totdat de hoofd-future voltooid is.
3Wat is het verschil tussen #[tokio::main] en #[tokio::main(flavor = "current_thread")]?
Wat is het verschil tussen #[tokio::main] en #[tokio::main(flavor = "current_thread")]?
Antwoord
Standaard maakt #[tokio::main] een multi-threaded runtime dat taken verdeelt over een pool van worker threads. Met flavor = "current_thread" voert het runtime alle taken alleen op de hoofd-thread uit, wat handig is voor tests, eenvoudige applicaties of wanneer het delen van data tussen threads moet worden vermeden.
Wat doet tokio::spawn() en welk type geeft het terug?
Waarom moeten futures die aan tokio::spawn() worden doorgegeven 'static zijn?
+19 gespreksvragen
Andere Rust-sollicitatieonderwerpen
Rust-basis
Ownership & Borrowing
Structs & Enums
Foutafhandeling
Collecties
Modules & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro's
Serde & serialisatie
Unsafe Rust
Geavanceerde traits
Geavanceerde Lifetimes
Type System
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