Авторизация
Забыли пароль? Введите ваш е-мейл адрес. Вы получите письмо на почту со ссылкой для восстановления пароля.
После регистрации вы сможете задавать вопросы и писать свои ответы, получая за это бонусы. Все остальные функции на сайте доступны без регистрации.
Вы должны войти или зарегистрироваться, чтобы добавить ответ и получить бонусы.
ThreadLocal в Java — это класс, который предоставляет возможность создания переменных, которые будут доступны только в пределах одного потока. Каждый поток имеет свою собственную копию переменной, и изменения, внесенные одним потоком, не будут видны другим потокам.
ThreadLocal используется, когда необходимо хранить данные, которые должны быть доступны только в пределах одного потока, но не могут быть переданы явным образом между методами или классами. Это может быть полезно, например, при использовании пула потоков, где каждый поток должен иметь свою собственную копию определенных данных.
Пример использования ThreadLocal:
«`java threadLocal = new ThreadLocal<>();
public class MyThreadLocalClass {
private static ThreadLocal
public static void setThreadLocalValue(int value) {
threadLocal.set(value);
}
public static int getThreadLocalValue() {
return threadLocal.get();
}
}
«`
В этом примере мы создаем класс MyThreadLocalClass с использованием ThreadLocal для хранения целочисленного значения. Метод setThreadLocalValue устанавливает значение переменной threadLocal для текущего потока, а метод getThreadLocalValue возвращает это значение для текущего потока.
Каждый поток будет иметь свою собственную копию переменной threadLocal, и изменения, внесенные одним потоком, не будут видны другим потокам.