Middle+
Go bağlamında asenkronluk, paralellik ve eşzamanlılık nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go bağlamında:
-
Asenkronluk — ana akışı engellemeden işlemlerin yürütülmesi, genellikle goroutine ve kanallar aracılığıyla. Bağımsız olarak yürütülebilecek görevleri başlatmaya ve tamamlanmalarını beklememeye olanak tanır.
-
Paralellik — farklı işlemci çekirdeklerinde aynı anda birden fazla görevin yürütülmesi. Go'da bu, goroutine planlayıcısı sayesinde, bunları sistem thread'lerine dağıtarak gerçekleştirilir.
-
Rekabet — bir programın, aynı anda veya sırayla yürütülebilecek birden fazla görevi yönetme yeteneği, paylaşılan kaynaklara doğru erişimi sağlayarak.
Goroutine örneği:
func worker(id int) {
fmt.Printf("İşçi %d başladı\n", id)
// çalışma
}
func main() {
for i := 1; i <= 5; i++ {
go worker(i) // asenkron başlatma
}
time.Sleep(time.Second) // bitişi bekleme
}