Встречается на собеседованиях • сегодня

Что такое ThreadLocal переменная

`ThreadLocal` — это класс в Java, позволяющий создавать переменные, доступные только для текущего потока. Каждый поток хранит свою независимую копию такой переменной, что исключает проблемы с конкурентным доступом. **Пример:** ```java public class ThreadLocalExample { private static final ThreadLocal threadLocalValue = ThreadLocal.withInitial(() -> 0); public static void main(String[] args) { Runnable task = () -> { int value = threadLocalValue.get(); threadLocalValue.set(value + 1); System.out.println(Thread.currentThread().getName() + ": " + threadLocalValue.get()); }; new Thread(task).start(); new Thread(task).start(); } } ``` **Вывод:** ``` Thread-0: 1 Thread-1: 1 ``` Каждый поток увеличивает свою копию переменной независимо. **Используется для:** хранения контекста (например, пользовательской сессии), избегания передачи параметров через методы. **Важно:** очищать `ThreadLocal` (через `remove()`), иначе возможны утечки памяти, особенно в пулах потоков.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы