Sobes.tech
Back to questions
Junior — Middle
83

Использовали ли вы механизм WithCancel для управления отменой контекста в своих проектах?

Companies where asked
AvitoAvito

Answer from AI

sobes.tech AI

Да, в Go механизм WithCancel из пакета context часто используется для управления отменой операций и горутин. Он позволяет создать контекст, который можно отменить вручную, что удобно для прерывания длительных или асинхронных задач.

Пример использования:

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

// Запускаем горутину, которая слушает отмену
go func() {
    <-ctx.Done()
    fmt.Println("Операция отменена")
}()

// В какой-то момент вызываем отмену
cancel()

Это позволяет контролировать жизненный цикл операций и предотвращать утечки ресурсов.