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í