
Tokio & Async I/O
Tokio runtime, async tasks, select!, join!, timeout, tokio::spawn, async dosya/ağ I/O
1Asenkron bir Rust uygulamasında Tokio runtime'ının temel rolü nedir?
Asenkron bir Rust uygulamasında Tokio runtime'ının temel rolü nedir?
Cevap
Tokio runtime'ı, future'ları tamamlanana kadar poll eden bir executor sağlar. Ayrıca task'ları birden fazla OS thread'ine dağıtmak için bir çok thread'li scheduler (varsayılan olarak) ve asenkron I/O işlemleri için bir reactor yönetir. Bir runtime olmadan, Rust future'ları varsayılan olarak lazy oldukları için hiçbir şey yapmaz.
2Tokio runtime'ı #[tokio::main] makrosuyla nasıl başlatılır?
Tokio runtime'ı #[tokio::main] makrosuyla nasıl başlatılır?
Cevap
#[tokio::main] makrosu, bir async main() fonksiyonunu, çok thread'li bir Tokio runtime'ı oluşturan ve async fonksiyonu çalıştıran senkron bir giriş noktasına dönüştürür. Bu makro, runtime'ı oluşturmak ve ana future tamamlanana kadar bloklamak için gereken boilerplate'i otomatik olarak üretir.
3#[tokio::main] ile #[tokio::main(flavor = "current_thread")] arasındaki fark nedir?
#[tokio::main] ile #[tokio::main(flavor = "current_thread")] arasındaki fark nedir?
Cevap
Varsayılan olarak, #[tokio::main] task'ları bir worker thread havuzuna dağıtan çok thread'li bir runtime oluşturur. flavor = "current_thread" ile runtime tüm task'ları yalnızca ana thread üzerinde çalıştırır; bu, testler, basit uygulamalar veya thread'ler arasında veri paylaşımının önlenmesi gereken durumlar için kullanışlıdır.
tokio::spawn() ne yapar ve hangi tipi döndürür?
tokio::spawn()'a geçirilen future'ların neden 'static olması gerekir?
+19 mülakat soruları
Diğer Rust mülakat konuları
Rust Temelleri
Ownership & Borrowing
Structs & Enums
Hata Yönetimi
Koleksiyonlar
Modüller ve Paketler
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Makrolar
Serde ve Serileştirme
Unsafe Rust
Gelişmiş Trait'ler
İleri Düzey Lifetime
Type System
Performans Optimizasyonu
Memory Management
Web Frameworks
Database Integration
Rust Tasarım Desenleri
Bir sonraki mülakatın için Rust'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla