Senior
Ҳамоҳангсозӣ байни goroutine-ҳо барои интиқоли маълумот кадом объект истифода мешавад?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go барои интиқоли маълумот байни goroutines истифода мешавад объекте бо номи канал (channel). Каналҳо имкон медиҳанд, ки маълумотҳоро бехатар мубодила кунанд, ҳамзамон иҷрои goroutines-ро ҳамоҳанг мекунанд.
Масалан аз истифодаи канал:
ch := make(chan int) // сохтани канал барои интиқоли int
go func() {
ch <- 42 // фиристодани арзиш ба канал
}()
арзиш := <-ch // гирифтани арзиш аз канал
fmt.Println(арзиш) // 42-ро нишон медиҳад
Каналҳо метавонанд бо буфер ва номуҳофиз бошанд, ки имкон медиҳад, ки назорати чандир дар ҳамоҳангсозӣ ва мубодилаи маълумот байни goroutines ба вуҷуд ояд.