
Tokio & Async I/O
Tokio runtime, async tasks, select!, join!, timeout, tokio::spawn, async I/O file/jaringan
1Apa peran utama runtime Tokio dalam aplikasi Rust asinkron?
Apa peran utama runtime Tokio dalam aplikasi Rust asinkron?
Jawaban
Runtime Tokio menyediakan executor yang melakukan poll terhadap futures hingga selesai. Ia juga mengelola scheduler multi-thread (secara default) untuk mendistribusikan task ke beberapa thread OS, serta reactor untuk operasi I/O asinkron. Tanpa runtime, futures Rust tidak melakukan apa pun karena bersifat lazy secara default.
2Bagaimana cara menginisialisasi runtime Tokio dengan macro #[tokio::main]?
Bagaimana cara menginisialisasi runtime Tokio dengan macro #[tokio::main]?
Jawaban
Macro #[tokio::main] mengubah fungsi async main() menjadi titik masuk sinkron yang membuat runtime Tokio multi-thread dan menjalankan fungsi async. Macro ini secara otomatis menghasilkan boilerplate yang diperlukan untuk membuat runtime dan memblokir hingga future utama selesai.
3Apa perbedaan antara #[tokio::main] dan #[tokio::main(flavor = "current_thread")]?
Apa perbedaan antara #[tokio::main] dan #[tokio::main(flavor = "current_thread")]?
Jawaban
Secara default, #[tokio::main] membuat runtime multi-thread yang mendistribusikan task ke sebuah pool worker thread. Dengan flavor = "current_thread", runtime menjalankan semua task hanya pada thread utama, yang berguna untuk pengujian, aplikasi sederhana, atau ketika berbagi data antar thread harus dihindari.
Apa yang dilakukan tokio::spawn() dan tipe apa yang dikembalikannya?
Mengapa futures yang diteruskan ke tokio::spawn() harus 'static?
+19 pertanyaan wawancara
Topik wawancara Rust lainnya
Dasar-Dasar Rust
Ownership & Borrowing
Structs & Enums
Penanganan Error
Collections
Module & Package
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde & Serialisasi
Unsafe Rust
Trait Lanjutan
Lifetime Lanjutan
Type System
Optimasi Performa
Memory Management
Web Frameworks
Database Integration
Design Pattern Rust
Kuasai Rust untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis