Sobes.tech
Junior — Middle

Použili jste mechanismus WithCancel k řízení zrušení kontextu ve svých projektech?

sobes.tech AI

Odpověď od AI

Ano, mechanismus WithCancel z balíčku context v jazyce Go se často používá k řízení zrušení operací a gorutin. Umožňuje vytvořit kontext, který lze ručně zrušit, což je užitečné pro přerušení dlouhých nebo asynchronních úkolů.

Příklad použití:

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

// Spouštíme gorutinu, která poslouchá na zrušení
go func() {
    <-ctx.Done()
    fmt.Println("Operace zrušena")
}()

// V určitém okamžiku zavoláme cancel()
cancel()

Toto umožňuje kontrolovat životní cyklus operací a předcházet únikům zdrojů.