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
gopred 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.