# Tokio & Async I/O (Rust) > Tokio runtime, async tasks, select!, join!, timeout, tokio::spawn, async I/O plików/sieci - 22 pytań z rozmów - Senior - [Pytania z rozmów: Rust](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne.md) ## 1. Jaka jest główna rola runtime'u Tokio w asynchronicznej aplikacji Rust? **Odpowiedź** Runtime Tokio dostarcza executor, który wykonuje poll na futures aż do ich zakończenia. Zarządza także scheduler'em wielowątkowym (domyślnie), aby rozdzielać zadania pomiędzy wiele wątków OS, oraz reactor'em do asynchronicznych operacji I/O. Bez runtime'u futures w Rust nic nie robią, ponieważ domyślnie są lazy. ## 2. Jak zainicjować runtime Tokio za pomocą makra #[tokio::main]? **Odpowiedź** Makro #[tokio::main] przekształca asynchroniczną funkcję main() w synchroniczny punkt wejścia, który tworzy wielowątkowy runtime Tokio i wykonuje funkcję async. Makro to automatycznie generuje boilerplate niezbędny do utworzenia runtime'u i blokowania aż do zakończenia głównego future. ## 3. Jaka jest różnica między #[tokio::main] a #[tokio::main(flavor = "current_thread")]? **Odpowiedź** Domyślnie #[tokio::main] tworzy wielowątkowy runtime, który rozdziela zadania pomiędzy pulę worker threads. Z flavor = "current_thread" runtime wykonuje wszystkie zadania wyłącznie na głównym wątku, co jest przydatne w testach, prostych aplikacjach lub gdy należy unikać współdzielenia danych między wątkami. ## Jeszcze 19 dostępnych pytań - Co robi tokio::spawn() i jaki typ zwraca? - Dlaczego futures przekazywane do tokio::spawn() muszą być 'static? Zarejestruj się za darmo: https://sharpskill.dev/pl/login ## Inne tematy rekrutacyjne Rust - [Podstawy Rusta](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/rust-basics.md): 25 pytań, Junior - [Ownership & Borrowing](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/ownership-borrowing.md): 22 pytań, Junior - [Structs & Enums](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/structs-enums.md): 20 pytań, Junior - [Obsługa błędów](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/error-handling.md): 18 pytań, Junior - [Kolekcje](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/collections.md): 20 pytań, Junior - [Moduły i pakiety](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/modules-packages.md): 18 pytań, Junior - [Traits](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/traits.md): 22 pytań, Mid-Level - [Generics](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/generics.md): 20 pytań, Mid-Level - [Lifetimes](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/lifetimes.md): 20 pytań, Mid-Level - [Iterators & Closures](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/iterators-closures.md): 22 pytań, Mid-Level - [Smart Pointers](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/smart-pointers.md): 22 pytań, Mid-Level - [Concurrency Basics](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/concurrency-basics.md): 20 pytań, Mid-Level - [async/await](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/async-await.md): 22 pytań, Mid-Level - [Testing](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/testing.md): 18 pytań, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/cargo-ecosystem.md): 18 pytań, Mid-Level - [Pattern Matching](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/pattern-matching.md): 18 pytań, Mid-Level - [Makra](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/macros.md): 20 pytań, Mid-Level - [Serde i serializacja](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/serde-serialization.md): 20 pytań, Mid-Level - [Unsafe Rust](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/unsafe-rust.md): 20 pytań, Senior - [Zaawansowane traity](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/advanced-traits.md): 22 pytań, Senior - [Zaawansowane Lifetime](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/advanced-lifetimes.md): 20 pytań, Senior - [Type System](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/type-system.md): 20 pytań, Senior - [Optymalizacja Wydajności](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/performance-optimization.md): 20 pytań, Senior - [Memory Management](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/memory-management.md): 20 pytań, Senior - [Web Frameworks](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/web-frameworks.md): 22 pytań, Senior - [Database Integration](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/database-integration.md): 20 pytań, Senior - [Wzorce projektowe w Rust](https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/design-patterns.md): 20 pytań, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/technologies/rust/pytania-rekrutacyjne/tokio-async