Sobes.tech
Junior — Middle

Je povinné použiť metódu Cancel pri vytváraní kontextu s časovým limitom pomocou Context.WithTimeout?

sobes.tech AI

Odpoveď od AI

Áno, dôrazne sa odporúča volať funkciu Cancel, ktorú vracia context.WithTimeout, aby sa uvoľnili zdroje spojené s kontextom, hneď ako už nie sú potrebné. Aj keď čas vyprší a kontext sa automaticky zruší, volanie Cancel pomáha predísť únikom zdrojov.

Príklad použitia:

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

// Použite ctx v operáciách

Volanie defer cancel() zabezpečuje, že zdroje budú uvoľnené pri opustení funkcie, aj keď operácia skončí skôr ako časový limit.