Вопрос проверяет умение проектировать потокобезопасные API и корректный shutdown.
Короткий ответ
Метод Close должен быть идемпотентным и потокобезопасным. Обычно используется sync.Once, mutex или atomic флаг. Это гарантирует, что ресурс будет закрыт только один раз. Остальные вызовы Close не должны приводить к ошибкам.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.