Sobes.tech
Junior — Middle

Ați folosit mecanismul WithCancel pentru a gestiona anularea contextului în proiectele dvs.?

sobes.tech AI

Răspuns de la AI

Da, mecanismul WithCancel din pachetul context în Go este adesea folosit pentru a gestiona anularea operațiunilor și goroutine-urilor. Permite crearea unui context care poate fi anulat manual, ceea ce este util pentru întreruperea sarcinilor lungi sau asincrone.

Exemplu de utilizare:

ctx, cancel := context.WithCancel(context.Background())

// Începem o goroutine care ascultă pentru anulare
go func() {
    <-ctx.Done()
    fmt.Println("Operație anulată")
}()

// La un moment dat, apelăm cancel()
cancel()

Acest lucru permite controlul ciclului de viață al operațiunilor și prevenirea scurgerilor de resurse.