Junior — Middle
Layihələrinizdə kontekstin ləğvini idarə etmək üçün WithCancel mexanizmini istifadə etdinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, Go dilində context paketindəki WithCancel mexanizmi tez-tez əməliyyatların və goroutine-lərin ləğv edilməsini idarə etmək üçün istifadə olunur. Bu, əl ilə ləğv edilə bilən bir kontekst yaratmağa imkan verir, bu da uzun və ya asinxron tapşırıqları dayandırmaq üçün əlverişlidir.
İstifadə nümunəsi:
ctx, cancel := context.WithCancel(context.Background())
// Ləğv etməyi dinləyən goroutine başlatırıq
go func() {
<-ctx.Done()
fmt.Println("Əməliyyat ləğv edildi")
}()
// Bir vaxtda, cancel() çağırırıq
cancel()
Bu, əməliyyatların həyat dövrünü idarə etməyə və resurs sızıntılarını qarşısını almağa imkan verir.