# Tokio & Async I/O (Rust) > Tokio runtime, async tasks, select!, join!, timeout, tokio::spawn, async Datei-/Netzwerk-I/O - 22 Interview-Fragen - Senior - [Interview-Fragen: Rust](https://sharpskill.dev/de/technologies/rust/interviewfragen.md) ## 1. Welche Hauptrolle spielt das Tokio-runtime in einer asynchronen Rust-Anwendung? **Antwort** Das Tokio-runtime stellt einen executor bereit, der futures bis zur Fertigstellung pollt. Es verwaltet außerdem einen Multithread-scheduler (standardmäßig), um Aufgaben auf mehrere OS-threads zu verteilen, sowie einen reactor für asynchrone I/O-Operationen. Ohne runtime tun Rust-futures nichts, da sie standardmäßig lazy sind. ## 2. Wie initialisiert man das Tokio-runtime mit dem #[tokio::main]-Makro? **Antwort** Das #[tokio::main]-Makro wandelt eine async-main()-Funktion in einen synchronen Einstiegspunkt um, der ein Multithread-Tokio-runtime erstellt und die async-Funktion ausführt. Dieses Makro generiert automatisch den nötigen Boilerplate-Code, um das runtime zu erstellen und zu blockieren, bis die Haupt-future abgeschlossen ist. ## 3. Was ist der Unterschied zwischen #[tokio::main] und #[tokio::main(flavor = "current_thread")]? **Antwort** Standardmäßig erstellt #[tokio::main] ein Multithread-runtime, das Aufgaben auf einen Pool von worker threads verteilt. Mit flavor = "current_thread" führt das runtime alle Aufgaben nur auf dem Haupt-thread aus, was für Tests, einfache Anwendungen oder wenn die gemeinsame Nutzung von Daten zwischen threads vermieden werden soll, nützlich ist. ## 19 weitere Fragen verfügbar - Was macht tokio::spawn() und welchen Typ gibt es zurück? - Warum müssen futures, die an tokio::spawn() übergeben werden, 'static sein? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere Rust-Interviewthemen - [Rust-Grundlagen](https://sharpskill.dev/de/technologies/rust/interviewfragen/rust-basics.md): 25 Fragen, Junior - [Ownership & Borrowing](https://sharpskill.dev/de/technologies/rust/interviewfragen/ownership-borrowing.md): 22 Fragen, Junior - [Structs & Enums](https://sharpskill.dev/de/technologies/rust/interviewfragen/structs-enums.md): 20 Fragen, Junior - [Fehlerbehandlung](https://sharpskill.dev/de/technologies/rust/interviewfragen/error-handling.md): 18 Fragen, Junior - [Collections](https://sharpskill.dev/de/technologies/rust/interviewfragen/collections.md): 20 Fragen, Junior - [Module & Packages](https://sharpskill.dev/de/technologies/rust/interviewfragen/modules-packages.md): 18 Fragen, Junior - [Traits](https://sharpskill.dev/de/technologies/rust/interviewfragen/traits.md): 22 Fragen, Mid-Level - [Generics](https://sharpskill.dev/de/technologies/rust/interviewfragen/generics.md): 20 Fragen, Mid-Level - [Lifetimes](https://sharpskill.dev/de/technologies/rust/interviewfragen/lifetimes.md): 20 Fragen, Mid-Level - [Iterators & Closures](https://sharpskill.dev/de/technologies/rust/interviewfragen/iterators-closures.md): 22 Fragen, Mid-Level - [Smart Pointers](https://sharpskill.dev/de/technologies/rust/interviewfragen/smart-pointers.md): 22 Fragen, Mid-Level - [Concurrency Basics](https://sharpskill.dev/de/technologies/rust/interviewfragen/concurrency-basics.md): 20 Fragen, Mid-Level - [async/await](https://sharpskill.dev/de/technologies/rust/interviewfragen/async-await.md): 22 Fragen, Mid-Level - [Testing](https://sharpskill.dev/de/technologies/rust/interviewfragen/testing.md): 18 Fragen, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/de/technologies/rust/interviewfragen/cargo-ecosystem.md): 18 Fragen, Mid-Level - [Pattern Matching](https://sharpskill.dev/de/technologies/rust/interviewfragen/pattern-matching.md): 18 Fragen, Mid-Level - [Makros](https://sharpskill.dev/de/technologies/rust/interviewfragen/macros.md): 20 Fragen, Mid-Level - [Serde & Serialisierung](https://sharpskill.dev/de/technologies/rust/interviewfragen/serde-serialization.md): 20 Fragen, Mid-Level - [Unsafe Rust](https://sharpskill.dev/de/technologies/rust/interviewfragen/unsafe-rust.md): 20 Fragen, Senior - [Fortgeschrittene Traits](https://sharpskill.dev/de/technologies/rust/interviewfragen/advanced-traits.md): 22 Fragen, Senior - [Fortgeschrittene Lifetimes](https://sharpskill.dev/de/technologies/rust/interviewfragen/advanced-lifetimes.md): 20 Fragen, Senior - [Type System](https://sharpskill.dev/de/technologies/rust/interviewfragen/type-system.md): 20 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/rust/interviewfragen/performance-optimization.md): 20 Fragen, Senior - [Memory Management](https://sharpskill.dev/de/technologies/rust/interviewfragen/memory-management.md): 20 Fragen, Senior - [Web Frameworks](https://sharpskill.dev/de/technologies/rust/interviewfragen/web-frameworks.md): 22 Fragen, Senior - [Database Integration](https://sharpskill.dev/de/technologies/rust/interviewfragen/database-integration.md): 20 Fragen, Senior - [Rust Design Patterns](https://sharpskill.dev/de/technologies/rust/interviewfragen/design-patterns.md): 20 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/rust/interviewfragen/tokio-async