Назад к вопросам
СБЕР
Госуслуги
Junior — Middle
86
Можете объяснить назначение и работу класса ThreadLocal в Java?
Компании, где спрашивали
Prooftech
Ответ от нейросети
sobes.tech AI
Класс ThreadLocal в Java используется для создания переменных, которые уникальны для каждого потока. Это значит, что каждый поток имеет свою собственную копию переменной, и изменения в одном потоке не влияют на значения в других.
Это полезно, когда нужно избежать проблем с конкурентным доступом к общим данным без использования синхронизации.
Пример использования:
ThreadLocal<Integer> threadLocalCounter = ThreadLocal.withInitial(() -> 0);
// В каждом потоке можно делать так:
int counter = threadLocalCounter.get();
counter++;
threadLocalCounter.set(counter);
Таким образом, каждый поток работает со своей собственной версией counter.