Sobes.tech
Junior — Middle

Que vantagens e funções a utilização de contextos filhos no sistema oferece?

sobes.tech IA

Resposta da IA

No Go, os contextos filhos são criados usando as funções context.WithCancel, context.WithTimeout ou context.WithDeadline e oferecem as seguintes vantagens:

  • Gestão do tempo de vida: Permitem cancelar operações e liberar recursos quando o contexto pai é cancelado ou o tempo limite expira.
  • Transmissão de sinais de cancelamento: Todos os contextos filhos recebem o sinal de cancelamento do contexto pai, o que simplifica a coordenação de goroutines.
  • Transmissão de valores: Os contextos podem conter valores acessíveis aos contextos filhos, o que é útil para passar parâmetros e configurações.

Exemplo:

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

// passar ctx para uma goroutine que terminará em 5 segundos ou ao cancelar