Context передаёт deadline и сигнал отмены по цепочке вызовов. WithTimeout задаёт относительный срок, WithDeadline — абсолютный, WithCancel — ручную отмену.
Как Go's контекстный пакет помогает управлять сроками, тайм-аутами и отменой в API-запросах или фоновый задачах?
Context передаёт deadline и сигнал отмены по цепочке вызовов. WithTimeout задаёт относительный срок, WithDeadline — абсолютный, WithCancel — ручную отмену.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Context передаёт deadline и сигнал отмены по цепочке вызовов. WithTimeout задаёт относительный срок, WithDeadline — абсолютный, WithCancel — ручную отмену.
Функции должны передавать контекст дальше и проверять Done или использовать контекстные API. Cancel освобождает связанные ресурсы, поэтому его вызывают даже при успешном завершении. Отмена не убивает произвольный код: блокирующая операция должна поддерживать такой протокол.