Sobes.tech
Junior — Middle

Ce avantaje și funcții oferă utilizarea contextelor copil în sistem?

sobes.tech AI

Răspuns de la AI

În Go, contexte copil sunt create folosind funcțiile context.WithCancel, context.WithTimeout sau context.WithDeadline și oferă următoarele avantaje:

  • Gestionarea duratei de viață: Permite anularea operațiunilor și eliberarea resurselor atunci când contextul părinte este anulat sau timpul expiră.
  • Transmiterea semnalelor de anulare: Toate contexte copil primesc semnalul de anulare de la contextul părinte, ceea ce simplifică coordonarea goroutine-urilor.
  • Transmiterea valorilor: Contextele pot conține valori accesibile pentru contexte copil, ceea ce este util pentru transmiterea parametrilor și setărilor.

Exemplu:

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

// transmită ctx către o goroutine care se va termina în 5 secunde sau la anulare