Sobes.tech
Junior — Middle

Оё метавонед консепсияи шохаҳои сабук ва фарқиятҳои онҳо бо шохаҳои оддӣ дар иҷрои барномаро шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

Легкие ағымдар (goroutines в Go) — бұл параллель орындау үшін абстракция, ол әдеттегі жүйелік ағымдардан (threads) жеңіл әрі ресурстарды тиімді пайдаланады.

Айырмашылықтар:

  • Ресурстар: goroutines әдеттегі жүйелік ағымдарға қарағанда әлдеқайда аз жад пайдаланады (әдетте бірнеше килобайт), ал жүйелік ағым көп ресурс талап етеді (әдетте мегабайттар).
  • Жоспарлау: goroutines-тер Go-ның жоспарлаушысы арқылы ішкі процесс ішінде жоспарланады, операциялық жүйе арқылы емес, бұл оларға тез ауысуға мүмкіндік береді.
  • Жасау: goroutine-ді іске қосу өте жылдам және арзан, оларды мыңдаған немесе миллиондаған бір уақытта жасауға болады.

Goroutine жасау мысалы:

func sayHello() {
    fmt.Println("Goroutine-ден сәлем")
}

func main() {
    go sayHello() // функцияны бөлек goroutine-да іске қосады
    time.Sleep(time.Second) // goroutine-дің аяқталуын күтеді
}

Осылайша, жеңіл ағымдар үлкен қосымша шығындарсыз параллелизмді тиімді пайдалануына мүмкіндік береді.