12 из 140 вопросов — случайная выборка · Ответьте на все и узнайте свой результат
Go · Concurrency
Горутина выполняет долгий цикл и должна остановиться, когда контекст будет отменён. Какой подход корректно определяет отмену?
Проверить ctx.Err() == context.Canceled в начале каждой итерации
ctx.Err() == context.Canceled
Использовать select на канал ctx.Done() внутри select в цикле
select
ctx.Done()
Вызвать ctx.Cancel() внутри цикла и проверить возвращаемое значение
ctx.Cancel()
Использовать context.IsExpired(ctx) для проверки истёк ли deadline
context.IsExpired(ctx)