Встречается на собеседованиях • сегодня
Для чего нужен ThreadLocal
ThreadLocal позволяет хранить данные, которые будут уникальны для каждого потока. Это полезно, когда нужно изолировать состояние между потоками без явной синхронизации.
**Пример:**
```java
private static final ThreadLocal dateFormat =
ThreadLocal.withInitial(() -> new SimpleDateFormat("yyyy-MM-dd"));
public String formatDate(Date date) {
return dateFormat.get().format(date); // Каждый поток использует свой экземпляр
}
```
**Используется для:**
- Хранения контекста (например, пользовательской сессии в веб-приложении).
- Избежания синхронизации при работе с не-потокобезопасными объектами (например, `SimpleDateFormat`).
- Передачи данных между методами в рамках одного потока.
⚠️ Важно очищать ресурсы через `remove()`, иначе возможны утечки памяти, особенно в пулах потоков.

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