
Goroutine Temelleri
Goroutine'ler, go anahtar kelimesi, sync.WaitGroup, runtime.GOMAXPROCS, goroutine sızıntıları
1Go'da goroutine nedir?
Go'da goroutine nedir?
Cevap
Goroutine, OS yerine Go runtime tarafından yönetilen ve diğer fonksiyonlarla eşzamanlı olarak çalışan bir fonksiyondur. Bir OS thread'ine (birkaç MB) kıyasla son derece hafiftir (birkaç KB başlangıç stack'i). Go scheduler binlerce hatta milyonlarca goroutine'i sınırlı sayıda OS thread'i üzerinde çoğullayabilir, bu da Go'da eşzamanlılığı çok erişilebilir kılar.
2Go'da yeni bir goroutine nasıl başlatılır?
Go'da yeni bir goroutine nasıl başlatılır?
Cevap
go anahtar sözcüğünün ardından bir fonksiyon çağrısı gelmesi yeni bir goroutine başlatır. Örneğin, 'go myFunction()' veya anonim bir fonksiyon için 'go func() { ... }()'. Goroutine, çağıran kodla paralel olarak hemen çalışır. Uyarı: main fonksiyonu, başlatılan goroutine'lerin bitmesini otomatik olarak beklemez.
3Bir goroutine ile bir OS thread'i arasındaki temel fark nedir?
Bir goroutine ile bir OS thread'i arasındaki temel fark nedir?
Cevap
Bir goroutine yaklaşık 2 KB başlangıç stack'i kullanırken, bir OS thread'i genellikle 1-2 MB gerektirir. Go runtime, goroutine scheduling'ini kullanıcı alanında yönetir (M:N scheduling) ve binlerce goroutine'i birkaç OS thread'i üzerinde çoğullar. Bu, kaynaklarla sınırlı olan OS thread'lerinin aksine, sistemi aşırı yüklemeden milyonlarca goroutine oluşturmaya olanak tanır.
Ana program bir goroutine bitmeden önce sonlanırsa ne olur?
Go runtime, goroutine yürütmesini nasıl yönetir?
+17 mülakat soruları
Diğer Go mülakat konuları
Go Temelleri
Go Veri Yapıları
Go Arayüzleri
Hata Yönetimi
Channels
Go Modules
HTTP Sunucusu
HTTP İstemcisi
JSON Kodlama
Database/SQL
context Paketi
Testing
Eşzamanlılık Desenleri
Senkronizasyon İlkelleri
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