Junior — Middle
Poți oferi un exemplu de situație în care utilizarea ThreadLocal este justificată?
sobes.tech AI
Răspuns de la AI
ThreadLocal используется, когда нужно хранить данные, специфичные для каждого потока, без риска, что они будут доступны другим потокам.
Пример ситуации: в веб-приложении на Java, где каждый запрос обрабатывается в отдельном потоке, можно использовать ThreadLocal для хранения информации о текущем пользователе или контексте запроса, чтобы не передавать эти данные явно через параметры методов.
private static final ThreadLocal<UserContext> userContext = new ThreadLocal<>();
public void processRequest() {
userContext.set(new UserContext(...));
// Внутри этого потока можно получить userContext.get() без передачи параметров
}
Так обеспечивается изоляция данных между потоками.