Sobes.tech
Junior — Middle

Môžeš uviesť rôzne typy a vlastnosti goroutines v jazyku Go?

sobes.tech AI

Odpoveď od AI

V jazyku Go sú gorutiny ľahké vlákna, ktoré spravuje runtime Go. Samotné "typy" gorutiny ako také neexistujú, ale možno vyzdvihnúť ich vlastnosti a varianty použitia:

  • Hlavné gorutiny: vytvárajú sa pomocou kľúčového slova go pred volaním funkcie.
  • Oddelené gorutiny: sú to gorutiny, ktoré sa spúšťajú a pracujú nezávisle, bez čakania na ich dokončenie.
  • Gorutiny so synchronizáciou: používajú kanály (chan) alebo iné mechanizmy synchronizácie na výmenu dát a koordináciu.
  • Pool gorutiny: vzor, kde sa vytvorí obmedzený počet gorutiny na spracovanie úloh z fronty, čo pomáha riadiť paralelizmus.

Príklad vytvorenia jednoduchej gorutiny:

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

Gorutiny sú veľmi ľahké v porovnaní so systémovými vláknami, čo umožňuje spustiť tisíce a dokonca milióny gorutiny súčasne.