Назад к вопросам
Т-Банк
Junior — Middle
66
Можешь привести пример ситуации, когда использование ThreadLocal оправдано?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
ThreadLocal используется, когда нужно хранить данные, специфичные для каждого потока, без риска, что они будут доступны другим потокам.
Пример ситуации: в веб-приложении на Java, где каждый запрос обрабатывается в отдельном потоке, можно использовать ThreadLocal для хранения информации о текущем пользователе или контексте запроса, чтобы не передавать эти данные явно через параметры методов.
private static final ThreadLocal<UserContext> userContext = new ThreadLocal<>();
public void processRequest() {
userContext.set(new UserContext(...));
// Внутри этого потока можно получить userContext.get() без передачи параметров
}
Так обеспечивается изоляция данных между потоками.