Junior — Middle
Jaké výhody a funkce poskytuje používání podřízených kontextů v systému?
sobes.tech AI
Odpověď od AI
V Go jsou podřízené kontexty vytvářeny pomocí funkcí context.WithCancel, context.WithTimeout nebo context.WithDeadline a nabízejí následující výhody:
- Správa životnosti: Umožňují zrušit operace a uvolnit zdroje, když je nadřazený kontext zrušen nebo vyprší časový limit.
- Přenos signálů zrušení: Všechny podřízené kontexty obdrží signál zrušení od nadřazeného kontextu, což usnadňuje koordinaci gorutin.
- Přenos hodnot: Kontexy mohou obsahovat hodnoty dostupné podřízeným kontextům, což je užitečné pro předávání parametrů a nastavení.
Příklad:
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
// předáváme ctx gorutině, která skončí za 5 sekund nebo při zrušení