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.