Junior — Middle
Qual è lo scopo della funzione di ritorno Cancel nel metodo Context.WithTimeout?
sobes.tech AI
Risposta dell'AI
La funzione Cancel, restituita dal metodo context.WithTimeout, è progettata per annullare esplicitamente il contesto prima della scadenza del timeout impostato. La chiamata a questa funzione libera le risorse associate al contesto e segnala a tutti gli ascoltatori la necessità di interrompere il lavoro. Questo è importante per prevenire perdite di risorse, specialmente se l'operazione termina prima del timeout.
Esempio di utilizzo:
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel() // garantisce la liberazione delle risorse
// usare ctx in operazioni che possono essere annullate