Описание тега thread-local

Thread-local - это класс из Java API, и документация определяет его: "Этот класс предоставляет локальные для потока переменные. Эти переменные отличаются от своих обычных аналогов тем, что каждый поток, который обращается к одному из них (с помощью метода get или set), имеет свои собственные, независимо инициализированная копия переменной. Экземпляры ThreadLocal обычно представляют собой частные статические поля в классах, которые хотят связать состояние с потоком (например, идентификатор пользователя или идентификатор транзакции) ".
1 ответ

Получение нулевого вывода для этой программы для каждого потока

Мой вывод: - Поток клиента - 1.... выполняется с идентификатором клиента: ноль Поток клиента - 4.... выполняется с идентификатором клиента: ноль Поток клиента - 3.... выполняется с идентификатором клиента: ноль Поток клиента - 2.... выполняется с ид…
01 май '17 в 18:28
2 ответа

ThreadLocal и SimpleDateFormat массив

Используя шаблон, очень похожий на тот, который описан в недавнем вопросе, для многопоточного приложения, я получаю странные значения даты (например, годы, например, 2025 или 2035, когда в исходных данных явно нет такого значения). Кажется, что возн…
3 ответа

Вопросы по использованию ThreadLocal в одноэлементном сервисе Spring

В моем классе обслуживания синглтонной области ниже все методы в классе требуют некоторого пользовательского контекста, который известен, когда Service.doA() называется. Вместо того, чтобы передавать информацию по методам, я думал о сохранении этих …
1 ответ

Удаление объектов threadLocal в потоках Tomcat во время закрытия приложения

Я работаю над веб-службой и создаю локальные экземпляры потока и хочу удалить их только во время завершения работы приложения (после создания локального объекта потока для потока я хочу использовать этот объект во время различных вызовов службы в эт…
07 мар '14 в 07:44
1 ответ

Локальное хранилище потока по сравнению с хеш-таблицей

У меня есть одноэлементный класс, и мне нужно хранить некоторые поля, которые являются специфическими для каждого потока. Я думаю о том, чтобы добавить эти поля как переменные ThreadLocal в синглтоне или использовать синхронизированный Hashtable с к…
25 ноя '12 в 18:06
2 ответа

Таблицы поиска в C++ 11 с многопоточностью

У меня есть 2 аналогичные ситуации в многопоточном программном обеспечении C++11: массив, который я использую в качестве таблицы поиска внутри объявления метода массив, который я использую в качестве таблицы поиска, объявленной вне метода, и которая…
30 июн '13 в 20:33
0 ответов

Несоответствующие данные по ThreadLocal<>

Я пытался добавить динамические строки в GridView, используя переменную ниже. private static ThreadLocal&lt;List&lt;Product&gt;&gt; productList = null; Ниже приведен обработчик событий, добавляющий строки динамически. protected void Button1_Click(ob…
15 авг '15 в 20:49
6 ответов

Как правильно расположить элементы, хранящиеся внутри ThreadLocal<IDisposable>?

Когда вы используете ThreadLocal&lt;T&gt; и T реализует IDisposable, как вы должны избавиться от членов, находящихся внутри ThreadLocal? В соответствии с ILSpy методы Dispose() и Dispose(bool) ThreadLocal public void Dispose() { this.Dispose(true); …
06 окт '11 в 02:04
1 ответ

Новое значение из ThreadLocal<IDisposable> после.Value.Dispose()

Есть ли встроенный ThreadLocal&lt;T&gt;-подобная конструкция для совместного использования объекта в каждом уникальном потоке, но воссоздания его, если исходное значение было уничтожено / уничтожено / сорвано / обнулено? Вот моя попытка реализовать …
25 июн '14 в 13:06
1 ответ

Запрашиваемая о многопоточности, массивах и кеш-памяти

Я надеюсь в хорошем смысле:-) Я написал этот кусок кода. Что я хотел сделать, так это создать что-то вроде "кеша". Я предполагал, что мне нужно следить за различными потоками, поскольку многие вызовы могут попасть в этот класс, поэтому я попробовал …
26 ноя '10 в 09:43
7 ответов

ThreadLocal для хранения ServletRequest и Response в сервлете: зачем?

Однажды я наткнулся на образец, где ServletRequest и ответные объекты помещаются в локальный сервлет ThreadLocal переменные. Класс сервлета также имеет методы для получения текущих объектов запроса и ответа. Таким образом, чтобы получить эти объекты…
29 мар '11 в 13:14
1 ответ

Порядок инициализации локальных переменных потока

Цитата из N4713: Динамическая инициализация нелокальных переменных V и W со статической продолжительностью хранения упорядочена следующим образом: Если V и W имеют упорядоченную инициализацию и V определяется перед W в пределах одной единицы трансля…
1 ответ

Использование фильтров запросов и ответов сервера для хранилища ThreadLocal в службе RestEasy

В настоящее время я работаю над сервисом RESTeasy на основе RESTful. У меня есть класс фильтра, который служит фильтром запроса сервера, а также фильтром ответа сервера (т.е. он реализует ContainerRequestFilter а также ContainerResponseFilter интерф…
29 сен '15 в 22:43
0 ответов

Динамически ограниченные переменные в коде, который широко использует фьючерсы

Типичная реализация JVM динамически изменяемых переменных имеет тенденцию использовать ThreadLocal переменные. В коде, который использует Futures повсеместно, поток может быть использован мой кратный Futures. В таких условиях безопасно ли использова…
17 ноя '13 в 06:12
3 ответа

Почему использование локальных потоков в Django плохо?

Я использую локальные потоки для хранения текущего пользователя и запроса объектов. Таким образом, я могу иметь легкий доступ к запросу из любой точки программы (например, динамические формы) без необходимости передавать их. Чтобы реализовать локаль…
12 июл '10 в 09:21
2 ответа

Локальная переменная потока в классе Singleton

В одноэлементном классе у меня есть частная статическая переменная ThreadLocal. Будет ли эта переменная использоваться совместно с пользователями, имеющими доступ к этому одноэлементному классу, или не будет использоваться совместно?
1 ответ

В Python можно ли перебирать значения, хранящиеся в локальном потоке каждого потока?

Предположим, у меня есть это: from threading import local tl = local() В разные моменты разные потоки в пуле потоков будут устанавливать что-то локальное для потока: tl.resource = &lt;something&gt; Можно ли перебрать все tl.resource, установленные к…
19 ноя '11 в 04:12
3 ответа

Как инициализировать ThreadLocal<List <Object >>

Ниже приведен мой код, в котором я объявляю ThreadLocal переменная: public static final ThreadLocal&lt;List&lt;Object&gt;&gt; ARGS = new ThreadLocal&lt;&gt;(); Я использую эту переменную в следующем фрагменте: private static void getParams(Token... …
17 фев '17 в 08:10
1 ответ

Запущены ли ThreadLocals в Async-поддерживаемом фильтре

В JSR 315 добавлена ​​асинхронная поддержка сервлетов и фильтров. Безопасен ли ThreadLocal, созданный в таком потоке фильтра? &lt;filter&gt; &lt;filter-name&gt;ResourceFilter&lt;/filter-name&gt; &lt;filter-class&gt;com.app.filter.ResourceFilter&lt;/…
3 ответа

Когда мы должны использовать scala.util.DynamicVariable?

Когда я прочитал исходники скалатры, я обнаружил, что есть такой код: protected val _response = new DynamicVariable[HttpServletResponse](null) protected val _request = new DynamicVariable[HttpServletRequest](null) Есть интересный класс с именем Dyna…
25 фев '11 в 10:54