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