Junior — Middle
Hangi paralel görev uygulama türlerini biliyorsunuz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da paralel görevler birkaç farklı şekilde gerçekleştirilebilir:
-
Goroutines —
goanahtar kelimesiyle başlatılan hafif iş parçacıklarıdır. Fonksiyonların paralel olarak çalışmasını sağlarlar. -
Kanallar — goroutine'ler arasında iletişim ve senkronizasyon için kullanılır, verilerin güvenli bir şekilde iletilmesini sağlar.
-
Worker havuzları — görevleri bir kuyruğa alan ve işleyen goroutine'ler grubu, aynı anda çalışan goroutine sayısını kontrol etmeye yardımcı olur.
-
sync.WaitGroup — bir grup goroutine'in tamamlanmasını beklemek için kullanılır.
Goroutine başlatma ve kanal aracılığıyla veri iletme örneği:
ch := make(chan int)
// Goroutine başlat
go func() {
ch <- 42 // değeri kanala gönder
}()
// Kanaldan değer al
val := <-ch
fmt.Println(val)