Многократные объекты в ThreadLocal

Мы можем установить больше чем один объект в ThreadLocal ?

4
nl ja de
Только для академической цели. Я хотел знать, можем ли мы установить больше чем один объект в ThreadLocal так, чтобы мы могли восстановить его позже. Я didn' t хотят использовать Карту с этой целью!
добавлено автор NINCOMPOOP, источник
не на той же самой нити, вы наклоняете:-),
добавлено автор radai, источник
Вы видите в Javadoc, которые устанавливают (), только устанавливает один объект, и доберитесь (), только добирается, каждый возражает.
добавлено автор Peter Lawrey, источник
Можете вы давать пример какой you' ре, пытающееся сделать и что проблемы you' преодоление ре?
добавлено автор Alex, источник

3 ответы

Местная нить является локальной переменной текущего потока; таким образом, каждая нить получает точно одну стоимость. Но стоимость может быть случаем, таким образом, можно поместить карту там, например или таможенный тип, который собирает все ценности, которые вы хотите.

11
добавлено
... или используйте несколько ThreadLocals
добавлено автор radai, источник
It' s важный, чтобы иметь в виду, что использование любого вида Коллекции в ThreadLocal могло усилить утечки/использование памяти, связанные с ThreadLocals
добавлено автор java-addict301, источник

Вы можете иметь многократный ThreadLocal , и у вас может быть объект в нем, который содержит многократные объекты.

например.

final ThreadLocal> localProperties = new ThreadLocal>() {
     public Map initialValue() {
           return new LinkedHashMap();
     }
});
5
добавлено
С этим подходом, it' s важный для осведомленного имеют в виду, что использование любого вида Коллекции в ThreadLocal могло усилить утечки/использование памяти, связанные с ThreadLocals
добавлено автор java-addict301, источник

Мы можем создать многократные объекты ThreadLocal в единственной Нити и получить доступ к ней, используя конкретный объект threadlocal, получают() метод. На самом деле у ThreadLocal есть статический внутренний класс под названием ThreadLocalMap, и это - настроенный hashmap, где ключ в этой настроенной карте является объектом ThreadLocal, и стоимость - стоимость, которая будет сохранена.

Каждая нить держит ссылку этого объекта threadLocalMap..

Get more information on this at http://coder2design.com/thread-local/

0
добавлено
Примером, обеспеченным в связи, не является правильное использование threadlocal
добавлено автор G.S, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async