Sobes.tech
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