Кто вызывает cancel у WithTimeout?

Ответ

Вызывать cancel должен код, создавший контекст - обычно через defer, чтобы освободить ресурсы таймера и сигнализировать отмену. Даже при срабатывании таймаута cancel нужно вызвать. Ранний return без cancel - утечка ресурсов таймера.

ctx, cancel := context.WithTimeout(parent, d)
defer cancel()
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.