Junior — Middle
Ποιος είναι ο σκοπός της επιστρεφόμενης λειτουργίας Cancel στη μέθοδο Context.WithTimeout;
sobes.tech AI
Απάντηση από AI
Η λειτουργία Cancel, που επιστρέφεται από τη μέθοδο context.WithTimeout, προορίζεται για ρητή ακύρωση του πλαισίου πριν από τη λήξη του καθορισμένου χρόνου. Η κλήση αυτής της λειτουργίας απελευθερώνει τους πόρους που σχετίζονται με το πλαίσιο και σηματοδοτεί σε όλους τους ακροατές την ανάγκη να διακόψουν την εργασία. Αυτό είναι σημαντικό για την αποτροπή διαρροών πόρων, ειδικά αν η λειτουργία ολοκληρωθεί νωρίτερα από το χρονικό όριο.
Παράδειγμα χρήσης:
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel() // διασφαλίζει την απελευθέρωση πόρων
// χρησιμοποιήστε το ctx σε λειτουργίες που μπορούν να ακυρωθούν