
Concurrency Basics
Threads, thread::spawn, move closures, channels (mpsc), Send & Sync trait'leri, thread safety
1Rust'ta yeni bir thread oluşturmak için hangi fonksiyon kullanılmalıdır?
Rust'ta yeni bir thread oluşturmak için hangi fonksiyon kullanılmalıdır?
Cevap
std::thread modülündeki thread::spawn fonksiyonu yeni bir yürütme thread'i oluşturur. Parametre olarak bir closure alır ve join() metoduyla thread'in bitmesini beklemeyi sağlayan bir JoinHandle döndürür. Bu fonksiyon, Rust'ta thread tabanlı eşzamanlı programlamanın ana giriş noktasıdır.
2Bir JoinHandle üzerinde çağrılan join() metodu ne döndürür?
Bir JoinHandle üzerinde çağrılan join() metodu ne döndürür?
Cevap
join() metodu, T'nin thread closure'unun dönüş tipi olduğu bir Result<T, E> döndürür. Thread normal şekilde tamamlanırsa Ok(değer) elde edersiniz. Thread panic ettiyse, panic bilgisini içeren Err elde edersiniz. Bu, thread sonuçlarını güvenle almayı veya hatalarını ele almayı sağlar.
3thread::spawn'a geçirilen bir closure'da move anahtar kelimesi neden kullanılır?
thread::spawn'a geçirilen bir closure'da move anahtar kelimesi neden kullanılır?
Cevap
move anahtar kelimesi, closure'ı yakaladığı değişkenleri ödünç almak yerine ownership'lerini almaya zorlar. Yeni thread, değişkenlerin tanımlandığı kapsamdan daha uzun yaşayabileceği için thread::spawn'da bu gereklidir. move olmadan derleyici, referansların thread'in tüm yaşam süresi boyunca geçerli olacağını garanti edemediği için reddeder.
Rust'ta Send trait'inin rolü nedir?
Rust'ta Sync trait'inin rolü nedir?
+17 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
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Makrolar
Serde ve Serileştirme
Unsafe Rust
Gelişmiş Trait'ler
İleri Düzey Lifetime
Type System
Tokio & Async I/O
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