
Senkronizasyon İlkelleri
sync.Mutex, RWMutex, Once, Pool, Map, Cond, atomik işlemler
1Go'da sync.Mutex nedir?
Go'da sync.Mutex nedir?
Cevap
Bir sync.Mutex (mutual exclusion lock), aynı anda yalnızca bir goroutine'in kritik bölüme erişebilmesini sağlayan bir senkronizasyon ilkesidir. Lock çağrısı, mutex kullanılabilir olana kadar bloklar ve Unlock onu diğer goroutine'ler için serbest bırakır. Paylaşılan verilere eşzamanlı erişimi korumak için kullanılır.
2Bir sync.Mutex üzerinde Lock'tan sonra Unlock'u çağırmayı unutursak ne olur?
Bir sync.Mutex üzerinde Lock'tan sonra Unlock'u çağırmayı unutursak ne olur?
Cevap
Unlock'u unutmak potansiyel bir deadlock oluşturur çünkü diğer goroutine'ler mutex'i elde etmek için süresiz bekler. En iyi uygulama, panic durumunda bile Unlock'un çağrılmasını sağlamak için defer kullanmaktır. Lock sızıntılarını önlemek için Lock ve Unlock'u her zaman aynı scope içinde eşleştirin.
3sync.Mutex ile sync.RWMutex arasındaki temel fark nedir?
sync.Mutex ile sync.RWMutex arasındaki temel fark nedir?
Cevap
sync.RWMutex, RLock aracılığıyla birden fazla eşzamanlı okumaya izin verir ancak Lock aracılığıyla yalnızca tek bir özel yazmaya izin verir. Bu, okuyucular birbirini engellemediği için okuma ağırlıklı senaryolarda performansı artırır. Okumalar sık ve yazmalar nadir olduğunda RWMutex kullanın.
Bir sync.Mutex üzerinde Unlock ile defer neden kullanılır?
sync.Mutex yerine sync.RWMutex ne zaman tercih edilmelidir?
+19 mülakat soruları
Diğer Go mülakat konuları
Go Temelleri
Go Veri Yapıları
Go Arayüzleri
Hata Yönetimi
Goroutine Temelleri
Channels
Go Modules
HTTP Sunucusu
HTTP İstemcisi
JSON Kodlama
Database/SQL
context Paketi
Testing
Eşzamanlılık Desenleri
Go Web Framework'leri
REST API Tasarımı
gRPC
Reflection
Bellek Yönetimi
Performans Optimizasyonu
Generics
Go Design Patterns
Microservices
Güvenlik ve Kimlik Doğrulama
Docker & Containerization
Kubernetes Basics
İleri Düzey Go
CLI Geliştirme
Bir sonraki mülakatın için Go'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