Junior — Middle
Használta a WithCancel mechanizmust a kontextus törlésének kezelésére a projektjeiben?
sobes.tech MI
Válasz az MI-től
Igen, a WithCancel mechanizmus a context csomagban Go-ban gyakran használják műveletek és goroutine-ok megszakításának kezelésére. Lehetővé teszi egy olyan kontextus létrehozását, amely manuálisan megszakítható, ami hasznos hosszú vagy aszinkron feladatok megszakításához.
Használati példa:
ctx, cancel := context.WithCancel(context.Background())
// Indítunk egy goroutine-t, amely a megszakítást figyeli
go func() {
<-ctx.Done()
fmt.Println("Művelet megszakítva")
}()
// Egy időpontban meghívjuk a cancel()
cancel()
Ez lehetővé teszi a műveletek életciklusának ellenőrzését és az erőforrás-szivárgások megelőzését.