Sobes.tech
Назад к вопросам
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.