Встречается на собеседованиях • сегодня
Приведи пример использования ThreadLocal
`ThreadLocal` позволяет хранить данные, уникальные для каждого потока. Пример:
```java
public class UserContext {
private static final ThreadLocal currentUser = ThreadLocal.withInitial(() -> null);
public static void setUser(String username) {
currentUser.set(username);
}
public static String getUser() {
return currentUser.get();
}
public static void clear() {
currentUser.remove();
}
}
// Использование:
UserContext.setUser("Alice");
System.out.println(UserContext.getUser()); // "Alice" в текущем потоке
// В другом потоке будет null, пока не установлено
new Thread(() -> {
System.out.println(UserContext.getUser()); // null
}).start();
```
Основные моменты:
1. Данные изолированы между потоками
2. Обязательно очищать через `remove()` после использования (особенно в веб-приложениях)
3. Полезен для хранения контекста (например, аутентификации)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы