Sobes.tech
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í