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