Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 27855|Ответ: 1

[Источник] JavaThreadЛокальные принципы и многопоточное повторное использование приводят к загружению данных

[Скопировать ссылку]
Опубликовано 01.11.2021 11:45:36 | | | |
В программировании мы определяем параметры метода для передачи содержимого переменных, если уровень метода исполнения глубокий, то каждый метод должен определить параметры для передачи; в данный момент некоторые переменные можно передавать через ThreadLocal, при условии, что все методы выполняются на одном потоке, значение ThreadLocal можно задать и прочитать.

Класс ThreadLocal используется для предоставления локальных переменных внутри потока. Когда эти переменные используются (get/set) в многопоточной среде, переменные в каждом потоке относительно независимы от переменных в других потоках.

ThreadLocal сначала получает текущий поток (Thread t = Thread.currentThread()) при выполнении метода множества, и использует текущий поток для получения ThreadLocalMap; если карта не пуста, это значит, что текущий поток имеет ранее связанное отображение, затем обновляет значение этой карты, если нет, использует себя как ключ для внесения значения в карту, чтобы реализовать связывание переменных и потоков.



Проверьте код, установите пул потоков так, чтобы поддерживать максимум 5 потоков, и когда мы вызовем метод ThreadLocal get в случае многопоточности, получим данные ThreadLocal (Данные, набранные другими потоками), usМетод множества ThreadLocal не вызывается в текущем потоке для установки данных, как показано на рисунке ниже:



Причины ошибок:После повторного использования потока, скорее всего, первое значение, полученное из ThreadLocal, является значением, оставшимся от предыдущих потоков

Потому что, после того как мы закончим с ThreadLocal в текущей теме,Обязательно позвоните в отдел удаления для своевременной очистки。 Как показано ниже:



Код:

(Конец)





Предыдущий:Docker смотрит на настройки перезапуска контейнеров и bulk stop контейнеров
Следующий:Дженкинс (5) Презентация проектной группы
Опубликовано 02.11.2021 21:30:12 |
Приходи учиться снова.
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com