Sobes.tech
Junior — Middle

Go dilində paralel hesablamalar necə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində paralel hesablamalar goroutinlər (goroutines) və kanallar (channels) vasitəsilə həyata keçirilir.

Goroutinlər — bu yüngül iş parçacqlarıdır və go açar sözü ilə başladılır. Onlar funksiyaları asinxron və paralel şəkildə icra etməyə imkan verir.

İki funksiyanın paralel işə salınmasına nümunə:

func tapşırıq(id int) {
    fmt.Printf("Tapşırıq %d başladı\n", id)
    // işin simulyasiyası
    time.Sleep(time.Second)
    fmt.Printf("Tapşırıq %d tamamlandı\n", id)
}

func main() {
    go tapşırıq(1)
    go tapşırıq(2)
    time.Sleep(2 * time.Second) // goroutinlərin tamamlanması üçün
}

Kanallar goroutinlər arasında sinxronizasiya və məlumatların ötürülməsi üçün istifadə olunur, bu da bloklamalar olmadan təhlükəsiz məlumat mübadiləsinə imkan verir.

Beləliklə, Go paralel hesablamaları təşkil etmək üçün sadə və effektiv vasitələr təqdim edir.