Junior — Middle
Чӣ гуна ҳисобҳои параллелӣ дар забони Go амалӣ мешаванд?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go, ҳисобҳои параллелӣ бо ёрии goroutines (goroutines) ва каналҳо (channels) амалӣ карда мешаванд.
Goroutines — ин равандҳои сабук мебошанд, ки бо калиди калид go оғоз меёбанд. Онҳо имкон медиҳанд, ки функсияҳо ба таври асинхронӣ ва параллелӣ иҷро шаванд.
Масалан, оғоз кардани ду функсия дар параллел:
func вазифа(шум ID int) {
fmt.Printf("Вазифа %d оғоз ёфт\n", ID)
// имитацияи кор
time.Sleep(time.Second)
fmt.Printf("Вазифа %d анҷом ёфт\n", ID)
}
func main() {
go вазифа(1)
go вазифа(2)
time.Sleep(2 * time.Second) // барои анҷоми goroutines
}
Каналҳо барои ҳамоҳангсозӣ ва интиқоли маълумот байни goroutines истифода мешаванд, ки имкон медиҳанд, ки иттилоот бехатар алмашинад бе бастаниҳо.
Ба ҳамин тариқ, Go воситаҳои содда ва муассир барои ташкил кардани ҳисобҳои параллелиро пешниҳод мекунад.