Sobes.tech
Back to questions
Junior — Middle
81

Нужно ли обязательно использовать метод Cancel при создании контекста с тайм-аутом через Context.WithTimeout?

Answer from AI

sobes.tech AI

Да, рекомендуется обязательно вызывать функцию Cancel, возвращаемую context.WithTimeout, чтобы освободить ресурсы, связанные с контекстом, как только он больше не нужен. Даже если тайм-аут сработает и контекст автоматически отменится, вызов Cancel помогает избежать утечек ресурсов.

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

ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()

// Используем ctx в операциях

Вызов defer cancel() гарантирует, что ресурсы будут освобождены при выходе из функции, даже если операция завершилась раньше тайм-аута.