Sobes.tech
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
}