Sobes.tech
Senior

Ako je runtime v jazyku Go?

sobes.tech AI

Odpoveď od AI

Runtime v jazyku Go je súbor komponentov, ktoré zabezpečujú vykonávanie programov v jazyku Go, vrátane:

  • Plánovač goroutines (scheduler): spravuje ľahké vlákna — goroutines, rozdeľuje ich vykonávanie na systémové vlákna (plánovanie M:N).
  • Goroutines: ľahké vlákna, ktoré sa vytvárajú rýchlo a spotrebúvajú málo pamäti.
  • Zberač odpadu (garbage collector): automatická správa pamäti, uvoľňuje nepoužívané objekty.
  • Správca pamäti: prideľuje a uvoľňuje pamäť pre objekty.
  • Nástroje synchronizácie: kanály a mutexy pre komunikáciu a synchronizáciu medzi goroutines.

Príklad vytvorenia gorutiny:

func sayHello() {
    fmt.Println("Ahoj z gorutiny")
}

func main() {
    go sayHello() // spustenie gorutiny
    time.Sleep(time.Second) // čakanie na dokončenie
}

Týmto spôsobom runtime Go zabezpečuje efektívne paralelné vykonávanie a správu zdrojov bez potreby manuálneho riadenia vlákien.