Sobes.tech
Junior — Middle
82

Можешь привести пример ситуации, когда использование ThreadLocal оправдано?

Companies where asked
Т-БанкТ-Банк

Answer from AI

sobes.tech AI

ThreadLocal используется, когда нужно хранить данные, специфичные для каждого потока, без риска, что они будут доступны другим потокам.

Пример ситуации: в веб-приложении на Java, где каждый запрос обрабатывается в отдельном потоке, можно использовать ThreadLocal для хранения информации о текущем пользователе или контексте запроса, чтобы не передавать эти данные явно через параметры методов.

private static final ThreadLocal<UserContext> userContext = new ThreadLocal<>();

public void processRequest() {
    userContext.set(new UserContext(...));
    // Внутри этого потока можно получить userContext.get() без передачи параметров
}

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