Junior — Middle
Koje prednosti i funkcije pruža korišćenje podređenih konteksta u sistemu?
sobes.tech АИ
Одговор од АИ
U Go-u, podređeni konteksti se kreiraju pomoću funkcija context.WithCancel, context.WithTimeout ili context.WithDeadline i pružaju sledeće prednosti:
- Upravljanje vremenom trajanja: Omogućavaju otkazivanje operacija i oslobađanje resursa kada se roditeljski kontekst otkaže ili istekne timeout.
- Prenos signala otkazivanja: Svi podređeni konteksti dobijaju signal otkazivanja od roditeljskog, što olakšava koordinaciju gorutina.
- Prenos vrednosti: Konteksti mogu sadržavati vrednosti dostupne podređenim kontekstima, što je korisno za prenos parametara i podešavanja.
Primer:
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
// prosleđujemo ctx gorutini koja će se završiti za 5 sekundi ili pri otkazivanju