Junior — Middle
Kas on kohustuslik kasutada meetodit Cancel, kui luuakse kontekst ajapiiranguga läbi Context.WithTimeout?
sobes.tech AI
Vastus AI-lt
Jā, ļoti ieteicams izsaukt funkciju Cancel, kas tiek atgriezta no context.WithTimeout, lai atbrīvotu ar kontekstu saistītos resursus, tiklīdz tie vairs nav nepieciešami. Pat ja laika ierobežojums ir beidzies un konteksts automātiski tiek atcelts, Cancel izsaukšana palīdz novērst resursu noplūdi.
Lietošanas piemērs:
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
// Izmantojiet ctx operācijās
defer cancel() izsaukums nodrošina, ka resursi tiks atbrīvoti, iznākot no funkcijas, pat ja operācija beidzas pirms laika limita.