Junior — Middle
Context.WithTimeout vasitəsilə vaxt məhdudiyyəti ilə kontekst yaradarkən mütləq Cancel metodundan istifadə etmək lazımdırmı?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, context.WithTimeout tərəfindən qaytarılan Cancel funksiyasını mütləq çağırmaq tövsiyə olunur ki, kontekstlə əlaqəli resurslar lazım olmadıqda sərbəst buraxılsın. Hətta vaxt keçib və kontekst avtomatik olaraq ləğv olunsa da, Cancel çağırışı resurs sızıntılarını qarşısını almağa kömək edir.
İstifadə nümunəsi:
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
// ctx-ni əməliyyatlarda istifadə edin
defer cancel() çağırışı, funksiyadan çıxarkən resursların sərbəst buraxılmasını təmin edir, hətta əməliyyat vaxtından əvvəl tamamlanmış olsa belə.