Middle+
Go контекстинде асинхрондулук, параллелдик жана атаандаштык эмне?
sobes.tech AI
AIден жооп
Go контекстинде:
-
Асинхрондук — негизги агымды блоктогон жокко операцияларды аткаруу, көбүнчө горутиндер жана каналдар аркылуу. Бул иштери көз карандысыз жана алардын аяктоосун күтпөстөн ишке киргизүүгө мүмкүндүк берет.
-
Параллелизм — процессордун ар кандай ядролорунда бир мезгилде бир нече тапшырманы аткаруу. Goда бул горутиндердин планировщиги аркылуу жетишилет, ал аларды системдик жиптерге бөлөт.
-
Конкуренция — программа бир мезгилде же кезек-кезек иштей турган бир нече тапшырманы башкаруу жөндөмү, жалпы ресурстарга туура кирүүнү камсыз кылуу.
Горутиндин мисалы:
func worker(id int) {
fmt.Printf("Жумушчу %d башталды\n", id)
// иш
}
func main() {
for i := 1; i <= 5; i++ {
go worker(i) // асинхрон старт
}
time.Sleep(time.Second) // аяктоосун күтүү
}