Sobes.tech
Junior — Middle

Aké výhody a funkcie poskytuje používanie podriadených kontextov v systéme?

sobes.tech AI

Odpoveď od AI

V Go sú podriadené kontexty vytvárané pomocou funkcií context.WithCancel, context.WithTimeout alebo context.WithDeadline a ponúkajú tieto výhody:

  • Správa životnosti: Umožňujú zrušiť operácie a uvoľniť zdroje, keď je nadriadený kontext zrušený alebo vyprší časový limit.
  • Prenos signálov zrušenia: Všetky podriadené kontexty dostanú signál zrušenia od nadriadeného kontextu, čo uľahčuje koordináciu gorutín.
  • Prenos hodnôt: Kontexte môžu obsahovať hodnoty dostupné podriadeným kontextom, čo je užitočné na prenos parametrov a nastavení.

Príklad:

ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()

// odovzdávame ctx gorutine, ktorá skončí za 5 sekúnd alebo pri zrušení