Junior — Middle
Můžeš vyjmenovat různé typy a vlastnosti gorutin v jazyce Go?
sobes.tech AI
Odpověď od AI
V jazyce Go jsou gorutiny lehké vlákna, které jsou řízeny běhovým prostředím Go. Samotné "typy" gorutin neexistují, ale lze vyzdvihnout jejich vlastnosti a varianty použití:
- Hlavní gorutiny: jsou vytvářeny pomocí klíčového slova
gopřed voláním funkce. - Odpojené gorutiny: jsou to gorutiny, které se spouštějí a pracují nezávisle, aniž by čekaly na jejich dokončení.
- Gorutiny se synchronizací: používají kanály (
chan) nebo jiné mechanismy synchronizace pro výměnu dat a koordinaci. - Pool gorutin: vzor, kdy je vytvořen omezený počet gorutin pro zpracování úkolů z fronty, což pomáhá řídit paralelismus.
Příklad vytvoření jednoduché gorutiny:
go func() {
fmt.Println("Ahoj z gorutiny")
}()
Gorutiny jsou velmi lehké ve srovnání s systémovými vlákny, což umožňuje spustit tisíce a dokonce miliony gorutin současně.