Sobes.tech
Назад к вопросам
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() без передачи параметров
}

Так обеспечивается изоляция данных между потоками.