Sobes.tech
Junior — Middle

Маскардын ишке ашырылышы контекстинде гурутин жана системалык жиптин айырмасы эмнеде?

sobes.tech AI

AIден жооп

Gorutina — бу Go (runtime) ишке тушириш муҳити тарабынан башкарылуучу жеңил иштетүү бирлиги болуп, ал өтө аз эс тутумду талап кылат жана бир убакта көптөгөн ишке киргизилиши мүмкүн. Жүйө чынжыры (thread) — бул операциялык тутумдун оорураак пландаштыруу бирдиги.

Негизги айырмачылыктар:

  • Gorutina-лар системалык чынжырларга караганда ресурстарга өтө жеңил.
  • Gorutina-лардын пландаштырылышы Go runtime ичинде болот, операциялык тутум тарабынан эмес.
  • Миңдеген gorutina-лар бир убакта иштей алат, ал эми системалык чынжырлар саны адатта азыраак, түзүү жана которуу чыгымдарына байланыштуу.

Gorutina түзүү мисалы:

func милдет() {
    fmt.Println("Милдет аткарылууда")
}

func main() {
    go милдет() // gorutina ишке киргизүү
    time.Sleep(time.Second) // gorutina ишке ашышы үчүн күтүп турабыз
}

Ушул жол менен, gorutina-лар көптөгөн милдеттерди натыйжалуу параллел жүргүзүүгө мүмкүндүк берет, аз чыгым менен.